【问题标题】:How to choose to install (or not) some feature using Wix Installer?如何选择使用 Wix Installer 安装(或不安装)某些功能?
【发布时间】:2017-08-08 13:22:57
【问题描述】:

我曾经使用 NSIS 为我的产品制作安装程序,但我得知 Wix 的代码更加简洁且灵活。

不过,我遇到了一个问题,因为在安装过程中,用户可能会决定安装或不安装 MySql。

如何设置?

我正在使用一个引导程序,它调用主 MSI 包(使用我的产品和一个对话框进行配置,用户可以在那里设置安装或不安装 MySql)。在同一个引导程序中,我有 MySql 安装程序调用。如何仅在需要时安装?

解释我的文件结构: 我在 Bundle.wxs 中有一个 MySql.wxs 片段和一个 PackageGroupRef 与引导程序。

【问题讨论】:

    标签: mysql wix bootstrapper wix3.11


    【解决方案1】:

    在 WiX 托管引导程序应用程序中,您可以在 PlanPackageBegin 事件中进行设置。

    BootstrapperApplication.PlanPackageBegin += PlanPackageBeginExecute;
    
    private void PlanPackageBeginExecute( object sender, PlanPackageBeginEventArgs e)
    {
        if(e.PackageId == "your package ID")
        {
            e.State = RequestState.None;
        } 
    }
    

    将 PackageState 设置为 NONE 会跳过安装包。

    【讨论】:

    • 我需要在代码中这样做吗?我可以在 .wsx 文件的包中设置任何标签以使其工作吗?使用任何 C# 代码都不是完全解决方案(从我的 ScrumMaster 的角度来看),但如果你说我不知道​​任何其他解决方案,我会这样做。从现在开始谢谢你:)
    • 我不知道是否可以在 .wxs 文件中完成。
    • 好的 我需要在哪里插入此代码?需要在 .dll 上编译? WiX 有一个标签(就像 html 必须到 php)来运行 wxs 文件中的代码?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-17
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-23
    • 1970-01-01
    相关资源
    最近更新 更多