自定义维克斯刻录主题额外投入(Customising the WiX Burn theme with

2019-06-28 00:31发布

我期待在使用烧录作为一个安装引导程序,我需要在几个参数传递到MSI通过。

我知道,要做到这一点的方法是使用MsiProperty元素,我遇到的问题是与显示UI来捕捉这些属性。 我知道,我可以创建通过管理引导器应用主机完全自定义UI,但是这是谈到了很多的工作来实现一个相对较小的调整来引导程序。

我发现这个博客文章有介绍如何做基本的用户界面的定制,并想知道如果可以修改刻录UI包括一个简单的复选框/文本框(其值,然后使用设置刻录变量,所以我可以将它传递到我的MSI)以类似的方式,或者我需要毕竟使用管理引导器应用主机?

Answer 1:

我找不到这个任何地方的任何文件,但实验通过源代码+读的一点点显露,这是相当简单-只需设置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。



文章来源: Customising the WiX Burn theme with additional inputs