WiX将属性(或任何其他自定义数据)绑定到bundle中

时间:2014-07-23 11:26:30

标签: wix

我想在我的WiX包中定义一些静态信息,与PropertyWixVariable甚至预处理器<?define?>变量无关。

在那之后,我想将这条信息传递给Bundle项目,也许是Burn的Binder Variables。我该怎么办?

我需要类似的东西:

!(bind.myDefinedInformation.PackageID)

1 个答案:

答案 0 :(得分:0)

要将变量传递给我所假设的,在您的情况下,是一个Custom BootstrapperApplication,您可以将一个Variable子元素添加到Bundle.wxs内的Bundle元素中,例如:

<Variable Name="USERID" Type="string" Value="user" bal:Overridable="yes" />

注意:使用此代码,您需要添加:

 xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"

到您的Wix标题。

在您的BootstrapperApplication代码中,您可以像这样引用此变量:

var user = Engine.StringVariables["USERID"];

甚至可以这样设置:

Engine.StringVariables["USERID"] = "test";