У меня вопрос.
Как можно вызвать 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>
Здравствуйте, 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>
Мои изменения выделены полужирным шрифтом.
Успехов!