【问题标题】:Install and uninstall MSI as dependency in WiX/Burn在 WiX/Burn 中安装和卸载 MSI 作为依赖项
【发布时间】:2013-07-23 01:58:06
【问题描述】:

我想在一个捆绑包中包含 3 个 MSI。一个是应用程序,它是由其他两个(app1 和 app2)共享的依赖项(dep1)。我想安装 dep1 作为安装 app1 和 app2 中的一个或两个的依赖项,并且当且仅当 app1 和 app2 都被卸载时才删除 dep1。

我还希望 app1 和 app2 在程序和功能下显示为两个单独的安装,但隐藏 dep1。例如。如果 app1 通过程序和功能卸载,则 dep1 仍然存在,但如果 app2 也被卸载,则 dep1 将被删除。

这可以使用刻录吗?我需要做些什么来设置它? Package Ref Counting 听起来像是我需要的,但我对如何设置有点迷茫。

看来我需要将Provides 元素添加到 dep1 MsiPackage 和 Requires 到 app1 和 app2 的 Product 元素?我不确定这是否意味着当 app1 和 app2 被卸载时 dep1 也会被卸载。

【问题讨论】:

    标签: wix burn


    【解决方案1】:

    您不必处理依赖项。总是安装它。卸载捆绑包时,它将被卸载。

    Burn 不支持将一个捆绑包显示为程序和功能中的多个条目。

    【讨论】:

    • 我曾经写过一个带有 4MSI 的 wix 包,安装后所有 4 个 MSI 都会显示在“程序和功能”中。它也会有一个单独的 BUNDLE 条目,当我卸载捆绑包时,其他 4 个条目也会消失。
    • 一般指导是隐藏单个包——这是默认行为——因为需要卸载包本身以清理缓存的包。对于大多数用户来说,安装一个东西并在程序和功能中获得许多条目也会让大多数用户感到困惑。
    • 好的,谢谢。我想我需要遵循 MSOffice 示例,并为多个应用程序使用单个安装程序界面。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多