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」的功能。