Установите MSI через msiexec / i .. / qn - PullRequest
1 голос
/ 21 января 2010

Я работаю над файлом MSI, который может установить 2 инструмента. Оба инструмента устанавливаются из exe-файла, но могут запускаться с аргументы типа / SI Я могу построить проект без проблем, без предупреждения ... Удаление также работает нормально. Если дважды щелкнуть файл MSI, оба программного обеспечения будут установлены без проблем .... тогда я могу удалить без проблем ...

Но если я запускаю свой msi-файл, используя msiexec / i mymsi.msi / qn, на этот раз устанавливается только первое программное обеспечение TOOL-A ... тогда ничего больше. Вы можете увидеть ниже моей конфигурации: Инструмент-A настраиваемое действие

Tool-A Custom Actions:
Executable Filekey: setup.exe
Command Line: /SI
Return Processiong: Synchronous (check exit code)
In-Script Execution: Immediate Execution

Execution Scheduling: Execute only once
Install UI Sequence: After ExecuteAction
Install UI Condition: Not Installed
Install Exec Sequence: After InstallFinalize
Install Exec Condition: Not Installed
Advertise Exec Sequence: Absent from sequence
Admin UI Sequence: <Absent from sequence>
Admin Exec Sequence: <Absent from sequence>
MSI Type Number 274

И для второго инструмента (никогда не устанавливаемого с использованием MSIEXEC)

Tool-B custom action
Executable Filekey: setup.exe1
Command Line: /q
Return Processiong: Synchronous (check exit code)
In-Script Execution: Immediate Execution
Execution Scheduling: Execute only once
Install UI Sequence: After tool-A
Install UI Condition: Not Installed
Install Exec Sequence: After tool-A
Install Exec Condition: Not Installed
Advertise Exec Sequence: <Absent from sequence>
Admin UI Sequence: <Absent from sequence>
Admin Exec Sequence: <Absent from sequence>
MSI Type Number 274

Так, если кто-то может мне помочь? Подводя итог: если MSI запускается с помощью двойного щелчка, нет проблем: инструмент-A и инструмент-B установлены! Если я использую Msiexec / i mymsi.msi / qn, просто устанавливается утилита A!

Ответы [ 2 ]

0 голосов
/ 25 января 2010

Я согласен с Майклом, вы обнаружите, что при установке Tool-B используется служба установщика Windows. Когда выполняется последовательность выполнения вашей установки, происходит транзакция. До версии 4.5 программы установки программа установки не позволяла выполнять две транзакции одновременно, что препятствует запуску установки Tool-B.

Начиная с версии 4.5, существует некоторая магия, которая делает это возможным. По сути, он позволяет вам сказать установщику: «Эй, эта другая транзакция установки, которую я хочу, чтобы вы выполняли, действительно является частью моей транзакции. Итак, объедините эти две функции и рассматривайте их как одну транзакцию.

Это документ, на который вы хотите сослаться:

http://msdn.microsoft.com/en-us/library/bb736322%28VS.85%29.aspx

0 голосов
/ 22 января 2010

Есть ли какие-либо указания в подробном файле журнала о том, что произошло? (msiexec /i mymsi.msi /qn /l*v verbose.log) Я предполагаю, что Tool-B использует MSI для установки, поэтому не может быть безопасно установлен из последовательности выполнения. Даже если это указывает на ошибку, когда вы запускаете с / qn и планируете после InstallFinalize, это не откатит внешнюю установку. Конечно, если это не указывает на сбой, будет трудно сказать, что происходит. Возможно, посмотрите, поддерживает ли командная строка Tool-B какой-то журнал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...