我在wxs文件中定义了一个自定义操作:
<CustomAction ExeCommand="long command line" FileKey="xyz.exe" Id="foo"/>
我收到警告:
警告LGHT1076:ICE03:字符串溢出(大于长度 在列中允许);表:CustomAction,Column:Target,Key(s):
使用长命令行定义操作的正确解决方案是什么?
答案 0 :(得分:4)
经过很多次,我找到了解决方案。我将命令行拆分为多个属性。
<CustomAction Id="action.prop0" Property="prop0" Value="first part with [INSTALLDIR]"/>
<CustomAction Id="action.prop" Property="prop" Value="[prop0] second part"/>
<CustomAction ExeCommand="[prop]" FileKey="service.exe" Id="myaction"/>
<InstallExecuteSequence>
<Custom Action="action.prop0" After="InstallFiles"/>
<Custom Action="action.prop" After="action.prop0"/>
<Custom Action="myaction" Before="InstallFinalize"/>
</InstallExecuteSequence>
答案 1 :(得分:2)
将长命令行分配给属性,然后在自定义操作中使用[PROPERTY]。虽然EXE自定义操作一般都不受欢迎。如果必须这样做,请使用WiX Quiet Execute Custom Action功能。