我正在尝试将一些可执行文件(我无法重新设计)包装到单独的MSI文件中,并使用可能包含引号的参数执行可执行文件。
所以我的CustomAction看起来像:
<CustomAction Id="PAYLOAD_EXE" FileKey="FILE1.EXE" ExeCommand="/VERYSILENT /PARAM="-s"" Return="check" Execute="commit" />
除非/ PARAM值本身包含嵌套引号,否则这样可以正常工作,例如:
<CustomAction Id="PAYLOAD_EXE" FileKey="FILE2.EXE" ExeCommand="/VERYSILENT /PARAM="/s /v"/qn REBOOT=ReallySuppress""" Return="check" Execute="commit" />
使用多个%quot;令牌似乎不起作用。还有另一种方法来处理这个问题吗?是否有可能以某种方式使用变量将字符串保存在/ PARAM参数的“?”中?或者它是否会在编译时简单地解析为无法识别的引号集?