Я использую installshield 2011. У меня есть модуль слияния, и я хочу, чтобы определенный exe-файл выполнялся после установки модуля слияния. Этот исполняемый файл является частью файлов модуля слияния. Теперь, когда я пишу пользовательское действие в модуле слияния, оно выполняется до того, как файлы будут скопированы в место назначения. Есть ли способ выполнить это пользовательское действие после того, как файлы будут открыты, чтобы он мог найти exe в этом месте? Или есть другой способ решить эту проблему?
Действия после установки в модуле слияния installshield
Ответы (1)
Модули слияния не «устанавливаются», они объединяются в базу данных установщика, и это то, что устанавливается. Другими словами, компоненты/CustomActions, созданные в основном проекте MSI и созданные в проекте MSM, ведут себя одинаково.
Вы пишете пользовательское действие в проекте MSI или MSM. Разница в том, что в первом используется таблица InstallExecuteSequence, а во втором — таблица ModuleExecuteSequence. Применяются все остальные правила. Вы, вероятно, захотите запланировать это после InstallFiles как Deferred with No Impersonation ( SYstem Context ). Также вы, вероятно, захотите использовать состояние действия компонента в условии, чтобы убедиться, что оно выполняется только при установке файла ключа компонента.
Кроме того, подумайте, нужно ли вам что-либо делать в сценариях отката и удаления. Это и убедитесь, что все, что делает этот EXE, не может быть сделано изначально в MSI. (Шаблоны SelfReg уступают нативным декларативным транзакционным шаблонам MSI.)