我期待在使用烧录作为一个安装引导程序,我需要在几个参数传递到MSI通过。
我知道,要做到这一点的方法是使用MsiProperty
元素,我遇到的问题是与显示UI来捕捉这些属性。 我知道,我可以创建通过管理引导器应用主机完全自定义UI,但是这是谈到了很多的工作来实现一个相对较小的调整来引导程序。
我发现这个博客文章有介绍如何做基本的用户界面的定制,并想知道如果可以修改刻录UI包括一个简单的复选框/文本框(其值,然后使用设置刻录变量,所以我可以将它传递到我的MSI)以类似的方式,或者我需要毕竟使用管理引导器应用主机?
我找不到这个任何地方的任何文件,但实验通过源代码+读的一点点显露,这是相当简单-只需设置Name
的控制(如复选框)用于烧伤变量的名称(不是维克斯的变量-它们是不同的),像这样(见刻录UI的定制为在哪里把这个更多信息)
<Checkbox Name="MyCheckBox" ...>Hello, checkbox</Checkbox>
如果你喜欢,你可以定义你的捆绑之下烧伤变量初始化它在一定值(使用1“打勾”,0代表“取消选中”使用复选框)
<Variable Name="MyCheckBox" Value="1" />
但是它不是必需的 - 该变量将自动为您无论如何创建。 请注意,它必须是一个Variable
,而不是一个WixVariable
-这些都是不同的。
最后设置基于此变量的MSI属性添加一个MsiProperty
元素为您的孩子MsiPackage
元素,像这样
<MsiPackage Name="MyMsi.msi" ...>
<MsiProperty Name="SOMEPROPERTY" Value="[MyCheckBox]" />
</MsiPackage>
MSI属性“SOMEPROPERTY”的值,然后将根据您的复选框的选中状态设置为0或1。