У меня есть пользовательское действие типа 2, которое выполняет исполняемый файл с параметрами. Мне нужно выполнить этот CA перед диалогом InstallWelcome, потому что он используется для сбора некоторой информации, чтобы предварительно заполнить диалог позже. Поэтому я упорядочил этот CA после действия CostFinalize в InstallUISequence, но установщику не удалось выполнить его с ошибкой, как показано ниже.
Если я переместил CA в последовательности InstallExecuteSequence, он выполняется, как и ожидалось. (Как объяснено в последующем комментарии, это не так, в этой последовательности это также не работает).
Кто-нибудь знает, что могло бы произойти?
Может быть, полезная информация : Если этот же исполняемый файл используется в настраиваемом действии типа 18 (исполняемый файл устанавливается вместе с двоичными файлами приложения), он выполняется без проблем.
<CustomAction Id='RunEXE' BinaryKey='EditCfg.exe.CA.ID' ExeCommand='[INSTALLFOLDER][SEPARATOR][CONFIG_FILE_NETWORK_LOCATION][SEPARATOR][USER_NAME][SEPARATOR][PASSWORD][SEPARATOR][WIX_UPGRADE_DETECTED][SEPARATOR][CHECKED_RULE][SEPARATOR][CERTIFICATE_LOCATION]' Execute='immediate' Impersonate='no' Return='check' />
<Binary Id='EditCfg.exe.CA.ID' SourceFile='path_to_the_exe_file'/>
MSI (c) (14:04) [15:18:36:452]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1722
Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action RunEXE, location: C:\Users\yyyyy\AppData\Local\Temp\MSIC8A9.tmp, command: param1§param2§param3§§param5§§param7