我想在我的WiX包中定义一些静态信息,与Property
,WixVariable
甚至预处理器<?define?>
变量无关。
在那之后,我想将这条信息传递给Bundle项目,也许是Burn的Binder Variables。我该怎么办?
我需要类似的东西:
!(bind.myDefinedInformation.PackageID)
答案 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";