小编DCC*_*CCD的帖子

在WiX中运行自定义操作之前设置环境变量

我必须使用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>
Run Code Online (Sandbox Code Playgroud)

然后我有一个自定义动作:

<CustomAction Id="InstallMyService"
              Directory="INSTALLDIR"
              ExeCommand='&quot;[INSTALLDIR]myapp\install_service.bat&quot; install'
              Execute="immediate"
              Return="ignore"/>
<InstallExecuteSequence>
    <Custom Action="InstallMyService"
            After="InstallFinalize"/>
</InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

注意:此操作需要MY_HOME在运行之前设置变量.

安装此MSI时,我得到一个日志,显示MY_HOME在运行自定义操作"InstallMyService"之前设置了该变量,但是安装我的服务的命令仍然失败.我发现原因是当命令调用时,MY_HOME仍未设置.

安装完成后,MY_HOME设置为预期,但自定义操作失败:(

我该如何解决这个问题?

custom-action wix

4
推荐指数
1
解决办法
4849
查看次数

标签 统计

custom-action ×1

wix ×1