Bundle.wxl:如何修改WiX刻录引导程序中的MSI功能?
<Bundle Name="$(var.SetupName)"
Version="$(var.ProductVersion)"
Manufacturer="$(var.CompanyName)"
UpgradeCode="$(var.UpgradeCode)">
<Variable bal:Overridable="yes" Name="AddLocal"/>
<Variable bal:Overridable="yes" Name="Remove"/>
<Chain>
<MsiPackage Id ="Hello.msi" Name="MyApp.msi" SourceFile="$(var.MyApp.TargetPath)" EnableFeatureSelection="yes" >
<MsiProperty Name="ADDLOCAL" Value="[AddLocal]"/>
<MsiProperty Name="REMOVE" Value="[Remove]"/>
</MsiPackage>
</Chain>
</Bundle>
字符串变量AddLocal
限定由从UI引导程序复选框并发送值到Bundle.wxl这样的:
BootstrapperApplication.Engine.StringVariables["AddLocal"] = "FIRST,SECOND";
与Remove
可变同样的情况: BootstrapperApplication.Engine.StringVariables["Remove"] = "THIRD";
设置变量后,我运行BootstrapperApplication.Engine.Plan(LaunchAction.Modify);
,但没有任何更改与我的功能。
日志文件中包含字符串像这样:
计划的特点:第一,状态:无,默认要求:未知,BA要求:未知,执行操作:无,回滚操作:无
计划功能:SECOND,状态:缺席,默认请求:未知,ba请求:未知,执行操作:无,回滚操作:无
计划功能:THIRD,状态:缺席,缺省请求:未知,执行操作:无,回滚操作:无
但是,Product.wxs包含id =“FIRST”,id =“SECOND”,id =“THIRD”的功能。