Мне нужно создать установщик на основе MSI , используя WiX , и мне нужно установить среду MY_HOME
перед выполнением командного действия.
У меня есть компонент:
<Component Id="SEMYHOME"
Guid="*my guid*">
<CreateFolder />
<Environment Id="MY_HOME"
Action="set"
Part="all"
Name="MY_HOME"
Permanent="no"
System="yes"
Value="[APPLICATIONPATH]myapp"/>
</Component>
Тогда у меня есть настраиваемое действие:
<CustomAction Id="InstallMyService"
Directory="INSTALLDIR"
ExeCommand='"[INSTALLDIR]myapp\install_service.bat" install'
Execute="immediate"
Return="ignore"/>
<InstallExecuteSequence>
<Custom Action="InstallMyService"
After="InstallFinalize"/>
</InstallExecuteSequence>
ПРИМЕЧАНИЕ. Для этого действия необходимо установить переменную MY_HOME
перед запуском.
При установке этого MSI я получил журнал, показывающий, что переменная MY_HOME
установлена перед выполнением настраиваемого действия «InstallMyService», но команда для установки моей службы по-прежнему не выполняется. Я обнаружил, что причина в том, что при вызове команды MY_HOME все еще не установлен.
После завершения установки MY_HOME был установлен, как и ожидалось, но пользовательское действие завершилось неудачно: (
Как я могу решить эту проблему?