使用附加输入定制WiX Burn主题
我正在考虑使用Burn作为安装程序的引导程序,我需要将几个参数传入MSI 我知道这样做的方法是使用使用附加输入定制WiX Burn主题,wix,windows-installer,bootstrapper,burn,Wix,Windows Installer,Bootstrapper,Burn,我正在考虑使用Burn作为安装程序的引导程序,我需要将几个参数传入MSI 我知道这样做的方法是使用MsiProperty元素,我遇到的问题是如何显示UI来捕获这些属性。我知道我可以通过managed bootstrapper应用程序主机创建一个完全定制的UI,但是要实现这一点需要做大量的工作,只需对bootstrapper进行相对较小的调整 我发现with描述了如何进行基本的UI自定义,并想知道是否可以以类似的方式修改Burn UI,使其包含一个简单的复选框/文本框(其值随后用于设置Burn变量
MsiProperty
元素,我遇到的问题是如何显示UI来捕获这些属性。我知道我可以通过managed bootstrapper应用程序主机创建一个完全定制的UI,但是要实现这一点需要做大量的工作,只需对bootstrapper进行相对较小的调整
我发现with描述了如何进行基本的UI自定义,并想知道是否可以以类似的方式修改Burn UI,使其包含一个简单的复选框/文本框(其值随后用于设置Burn变量,以便我可以将其传递到我的MSI中),或者我到底需要使用托管引导程序应用程序主机吗?我在任何地方都找不到关于此的任何文档,但是通过一点实验+阅读源代码可以发现这相当简单-只需将控件的
名称(例如,复选框)设置为Burn变量的名称即可(不是WiX变量-它们是不同的),类似于这样(请参阅以了解有关将其放置在何处的更多信息)
MSI属性“SOMEPROPERTY”的值将根据复选框的选中状态设置为0或1。我也使用此方法-它可以工作。可能可以安全地接受此作为答案:)非常感谢,但是我得到了SOMEPROPERTY=“”在我在中定义之前一直传递到MSI,此解决方案是否仅适用于复选框,还是对EditBox也有效?我在通过EditBox设置变量值时遇到问题
<Checkbox Name="MyCheckBox" ...>Hello, checkbox</Checkbox>
<Variable Name="MyCheckBox" Value="1" />
<MsiPackage Name="MyMsi.msi" ...>
<MsiProperty Name="SOMEPROPERTY" Value="[MyCheckBox]" />
</MsiPackage>