我有一个引导程序设置,它接受this链接中提到的命令行参数,如下所述:
<Wix>
<Bundle>
<Variable Name="CommandLineArg" bal:Overridable="yes"/>
<Chain>
<MsiPackage>
<MsiProperty Name="CommandLineArg" Value="[CommandLineArg]"/>
</MsiPackage>
</Chain>
</Bundle>
</Wix>我使用此命令行参数有条件地运行自定义操作。如果我通过命令行运行,这很好用,也就是说,如果我传递参数,定制操作就会运行,如果不是,它就不会运行。但我想要的是当用户通过UI启动它时,即通过双击程序包,向用户显示EULA页面,如果用户接受它,那么所有自定义操作都应该运行,包括基于命令行参数的条件。我如何确保这一点,因为现在发生的情况是,当从命令行启动安装时,不会运行自定义操作。
欢迎提出任何建议。如果我的问题不清楚,请告诉我。
发布于 2016-06-08 01:10:57
为您的变量添加一个默认值。
例如:
<Wix>
<Bundle>
<Variable Name="CommandLineArg" bal:Overridable="yes" Type="string" Value="hello"/>
<Chain>
<MsiPackage>
<MsiProperty Name="CommandLineArg" Value="[CommandLineArg]"/>
</MsiPackage>
</Chain>
</Bundle>
</Wix>这样,即使用户双击您的安装程序,CommandLineArg也将始终有一个值。
https://stackoverflow.com/questions/37011162
复制相似问题