首页 文章

MSI多次安装相同版本的应用程序?

提问于
浏览
1

我有一个MSI安装程序,我有以下配置:

<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." AllowSameVersionUpgrades="yes"/>

假设我已经安装了1.0.0.0版本 .

下次,如果我安装1.0.0.1版本 . 它按预期升级相同的应用程序 .

下次,如果我尝试安装1.0.0.0版本 . 安装程序不允许我选择功能(如预期的那样),但允许安装而不选择除顶部复选框之外的任何功能 . 我想在这里安装程序不应该允许在任何情况下处理版本已关闭 .

另一个问题,如果安装了1.0.0.0版本并打开相同的安装程序,它会按预期显示修改,修复和删除屏幕 . 但是,如果我构建VS项目并安装已安装的相同版本 . 它允许我安装和在程序和功能,它显示两个相同版本的应用程序 . 我不想要这个 . 有什么标志或祝贺我需要用来做这件事吗?

1 回答

  • 1

    ProductVersion :只有 ProductVersion 的前三位数对主要升级有影响 . 确保至少提升 third digit 并且主要升级应该起作用并删除以前的版本 . 我强烈建议你不要试图解决这个问题,而只是接受3位版本的规则限制 . 至于为什么,这是Windows Installer的限制 . 其中一个更糟糕的 .

    Automagic ProductCode :您必须将产品代码设置为自动生成 . 这意味着每次重建都会生成新的产品代码,并且基本上会进行重大升级 . 由于您的错误4位版本号仅在第4位数字中出现,并且由于主要升级检测和运行失败,因此应用程序的两个并排安装版本会导致此主要升级失败 .

相关问题