Действия после установки в модуле слияния installshield

Я использую installshield 2011. У меня есть модуль слияния, и я хочу, чтобы определенный exe-файл выполнялся после установки модуля слияния. Этот исполняемый файл является частью файлов модуля слияния. Теперь, когда я пишу пользовательское действие в модуле слияния, оно выполняется до того, как файлы будут скопированы в место назначения. Есть ли способ выполнить это пользовательское действие после того, как файлы будут открыты, чтобы он мог найти exe в этом месте? Или есть другой способ решить эту проблему?


person Ramesh Soni    schedule 04.04.2011    source источник


Ответы (1)


Модули слияния не «устанавливаются», они объединяются в базу данных установщика, и это то, что устанавливается. Другими словами, компоненты/CustomActions, созданные в основном проекте MSI и созданные в проекте MSM, ведут себя одинаково.

Вы пишете пользовательское действие в проекте MSI или MSM. Разница в том, что в первом используется таблица InstallExecuteSequence, а во втором — таблица ModuleExecuteSequence. Применяются все остальные правила. Вы, вероятно, захотите запланировать это после InstallFiles как Deferred with No Impersonation ( SYstem Context ). Также вы, вероятно, захотите использовать состояние действия компонента в условии, чтобы убедиться, что оно выполняется только при установке файла ключа компонента.

Кроме того, подумайте, нужно ли вам что-либо делать в сценариях отката и удаления. Это и убедитесь, что все, что делает этот EXE, не может быть сделано изначально в MSI. (Шаблоны SelfReg уступают нативным декларативным транзакционным шаблонам MSI.)

person Christopher Painter    schedule 06.04.2011
comment
Чтобы было ясно, таблица ModuleExecuteSequence дает компилятору инструкции о том, как вставить пользовательское действие в таблицу InstallExecuteSequence. После этого руководство в первом абзаце остается в силе. - person Christopher Painter; 02.12.2015