Wix. Dialog from dll
От: redfoxykirian  
Дата: 20.12.08 09:59
Оценка:
У меня вопрос.
Как можно вызвать CA (которое отрисовывает формочку из dll) сразу же после диалога ProgressDlg в котором происходит копирование файлов, регистрация продукта и т.д.
Пробовал добавлять мое действие в InstallExecuteSequence после InstallFinalize. Но в этом случае оно выполняется, когда на экране висит ProgressDlg. А мне необходимо вызвать CA_SHOW_DLG, только после того, как закроется окошко ProgressDlg.

    <!-- Вызов диалога из dll -->
    <CustomAction Id="CA_SHOW_DLG"
                  BinaryKey="ActionDlg"
                  DllEntry="ShowDlg"
                  Execute="immediate"
                  Return="check" />
    
    <InstallExecuteSequence>
      <Custom Action='CA_SHOW_DLG' After='InstallFinalize' />
    </InstallExecuteSequence>
Re: Wix. Dialog from dll
От: WPooh США  
Дата: 21.12.08 22:32
Оценка:
Здравствуйте, redfoxykirian, Вы писали:

R>У меня вопрос.

R>Как можно вызвать CA (которое отрисовывает формочку из dll) сразу же после диалога ProgressDlg в котором происходит копирование файлов, регистрация продукта и т.д.
R>Пробовал добавлять мое действие в InstallExecuteSequence после InstallFinalize. Но в этом случае оно выполняется, когда на экране висит ProgressDlg. А мне необходимо вызвать CA_SHOW_DLG, только после того, как закроется окошко ProgressDlg.

Попробуйте так:
    <!-- Вызов диалога из dll -->
    <CustomAction Id="CA_SHOW_DLG"
                  BinaryKey="ActionDlg"
                  DllEntry="ShowDlg"
                  Execute="immediate"
                  Return="check" />
    
    <InstallUISequence>
      <Custom Action='CA_SHOW_DLG' After='ExecuteAction' />
    </InstallUISequence>

Под рукой нет ничего для создания инсталяшек, но вроде должно быть так, если я наврал — пишите, проверю.

Вариант №2:
    <!-- Вызов диалога из dll -->
    <CustomAction Id="CA_SHOW_DLG"
                  BinaryKey="ActionDlg"
                  DllEntry="ShowDlg"
                  Execute="deferred"
                  Return="check" />
    
    <InstallExecuteSequence>
      <Custom Action='CA_SHOW_DLG' After='InstallFinalize' />
    </InstallExecuteSequence>

Мои изменения выделены полужирным шрифтом.

Успехов!
К этому моменту у меня внутри 0.5, 0.7, 0.33 (с) НС
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.