2015-10-05 69 views
1

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

回答

相关问题