【问题标题】:How to continue if an MSI is already installed如果已安装 MSI,如何继续
【发布时间】:2018-02-13 17:37:47
【问题描述】:

我有一个捆绑包,它首先安装 Microsoft MSI,然后是包含自定义操作的自定义 MSI,以配置 Microsoft 产品。但是,有时客户已经安装了 Microsoft 产品并且可能在更高版本上,这会导致捆绑失败并显示错误消息:

MSI (s) (48:64) [17:09:26:936]:产品:Microsoft Monitoring Agent -- 更新版本的 Microsoft Monitoring Agent 已安装在此计算机上。安装程序无法继续。

此计算机上已安装较新版本的 Microsoft Monitoring Agent。安装程序无法继续。

是否有强制捆绑包继续安装链的其余部分?由于 MSI 是 Microsoft 的一个,我无法直接修改它,我只能对捆绑包和自定义引导程序进行更改。

【问题讨论】:

    标签: c# wix


    【解决方案1】:

    处理此问题的通常方法是使用捆绑包中的先决条件,例如系统搜索以了解产品是否已安装(或更高版本)。这种类型的搜索用于安装先决条件的条件:

    http://wixtoolset.org/documentation/manual/v3/bundle/bundle_define_searches.html

    以便在监视器设置上有一个 InstallCondition。

    您似乎在无条件地运行监控安装。通常需要进行一些侦探工作才能找到系统上存在较低版本(或根本没有)的迹象。

    【讨论】:

    • 这是有道理的,所以我有这个安装条件,InstallCondition="StandAloneMmaVersion < 8.0.110720.0 OR AzureMmaVersion < 8.0.110720.0" 这应该适用于安装,但它会导致卸载修理或修改。你知道有什么巧妙/简单的方法来防止这种情况吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多