Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用附加输入定制WiX Burn主题_Wix_Windows Installer_Bootstrapper_Burn - Fatal编程技术网

使用附加输入定制WiX Burn主题

使用附加输入定制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变量

我正在考虑使用Burn作为安装程序的引导程序,我需要将几个参数传入MSI

我知道这样做的方法是使用
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>