在 Wix 的 ExeCommand 中配置参数

Configuring the parameter in the ExeCommand of Wix

在我的 Wix 安装程序项目中,我通过自定义操作启动可执行文件并通过 ExeCommand 将输入参数传递给可执行文件。

<CustomAction Id="LaunchExecutable" Execute="deferred"
             ExeCommand='&quot;[INSTALLDIR]Product.exe&quot; /install "STAGING"'
             Directory="INSTALLDIR"
             Impersonate="yes"
             Return="ignore" />

我想避免在 ExeCommand 中对“STAGING”进行硬编码并将其作为 $(var.Environment) 之类的变量传递。我希望 ExeCommand 看起来像这样:

   <?define Environment= Staging?>
    ExeCommand='&quot;[INSTALLDIR]Product.exe&quot; /install $(var.Environment)'  

有没有办法配置参数?我尝试这样做,但收到未定义的预处理器错误。

我可以通过将 $(var.Environment) 和引号括起来来实现此功能,例如 :

 ExeCommand="&quot;[INSTALLDIR]Product.exe&quot; /install &quot;$(var.Environment)&quot;"