【发布时间】:2013-07-08 03:39:44
【问题描述】:
我必须使用WiX 构建一个基于MSI 的安装程序,并且我需要在运行命令操作之前设置环境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 时,我收到一条日志,显示在运行自定义操作“InstallMyService”之前设置了 MY_HOME 变量,但安装我的服务的命令仍然失败。我发现原因是调用命令时,MY_HOME 仍未设置。
安装完成后,MY_HOME 已按预期设置,但自定义操作失败:(
我该如何解决这个问题?
【问题讨论】:
标签: wix custom-action