dsp*_*egs 4 installation windows-installer wix
我正在开发一组将共享通用表单的 WiX 安装程序。每个应用程序都需要设置这些值,但每个应用程序的值都不同。
我试图允许属性(链接到控件)具有默认值(或不具有默认值),并允许通过命令行设置属性值。
在我的“SharedDialog.wxs”中我有:
<Fragment>
<PropertyRef Id="PROP1"/>
<PropertyRef Id="PROP2"/>
<UI>
<Dialog Id="SharedDialog" Width="370" Height="270" Title="[ProductName]">
<Control Type="Edit" Id="1" Property="PROP1" Wid... Indirect="no" />
<Control Type="CheckBox" Id="2" Property="PROP2" Wid...
CheckBoxValue="1" Indirect="no"/>
</Dialog>
</Fragment>
Run Code Online (Sandbox Code Playgroud)
在应用程序特定项目的文件中:
<Fragment>
<Property Id="PROP1" Value="Test"/>
<Property Id="PROP2" Value="1"/>
</Fragment>
Run Code Online (Sandbox Code Playgroud)
这一切都适用于我想要做的事情,但问题是当我想像这样清除值时:(所以它们没有默认值)
<Fragment>
<Property Id="PROP1"/>
<Property Id="PROP2"/>
</Fragment>
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Unresolved reference to symbol 'Property:PROP1' in section 'Fragment:'.
Unresolved reference to symbol 'Property:PROP2' in section 'Fragment:'.
Run Code Online (Sandbox Code Playgroud)
WiX 也不会让您将值设置为“”。问题是,据我所知,如果该属性具有值,则该复选框将始终被选中。如何将属性“PROP2”设置为“null”?
您可以在属性表中为 PUBLIC PROPERTIES 指定默认值,然后从命令行设置其他值。命令行覆盖默认值:
msiexec.exe /I "C:\Test.msi" /QN /L*V "C:\log.log" TEST="MyValue" TEST2="MyValue"
查看更多信息: 如何从 msiexec 命令行将复选框设置为“未选中”?
归档时间: |
|
查看次数: |
6931 次 |
最近记录: |