繁体   English   中英

如何修改WiX刻录引导程序中的MSI功能?

[英]How can I modify MSI features in a WiX burn bootstrapper?

Bundle.wxl:

<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 Bootstrapper中的复选框定义,并将值发送到Bundle.wxl,如下所示:

BootstrapperApplication.Engine.StringVariables["AddLocal"] = "FIRST,SECOND"; Remove变量的情况相同: BootstrapperApplication.Engine.StringVariables["Remove"] = "THIRD";

设置变量后,我运行BootstrapperApplication.Engine.Plan(LaunchAction.Modify); 但是我的功能没有改变。

日志文件包含以下字符串:

计划的功能:第一,状态:不存在,请求的默认值:未知,请求的ba:未知,执行操作:无,回滚操作:无

计划的功能:秒,状态:不存在,请求的默认值:未知,请求的ba:未知,执行操作:无,回滚操作:无

计划的功能:第三,状态:不存在,请求的默认值:未知,请求的ba:未知,执行操作:无,回滚操作:无

但是,Product.wxs包含具有id =“ FIRST”,id =“ SECOND”,id =“ THIRD”的功能。

终于我找到了解决方案。 变量ADDLOCALREMOVE是错误的方式。 它帮助了我: WiX .NET Bootstrapper-功能选择

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM