【问题标题】:Upgrade MSI and using Eleckey updateshield升级 MSI 并使用 Eleckey updateshield
【发布时间】:2015-06-18 10:30:29
【问题描述】:

我已经设置了我想要创建自动更新的 Windows 应用程序。为此,我使用了 ElecKey。对于安装升级,我创建了完整补丁,因此我创建了另一个具有相同升级代码和新产品版本的 MSI,并将 RemovePreviousVersion 设置为 True。但我发现即使应用程序正在运行,MSI 也没有替换文件,但 MSI 正在安装应用程序。怎么办?

【问题讨论】:

  • 这个问题涉及的C#在哪里?

标签: windows-installer


【解决方案1】:

听起来您正在使用 Visual Studio 安装程序项目,因为 RemovePreviousVersions 是他们使用的术语。所以:

  1. “创建完整补丁”不是您在做的事情,所以使用该描述会使人们感到困惑。您正在进行重大升级,这是一个既是全新安装的 MSI,又是自动卸载旧产品(如果碰巧已经安装了旧产品)。

  2. VS 安装项目不会升级单个文件,除非您增加它们的文件版本。与所有其他更新机制(补丁、服务包、热修复等)一样,只有在传入文件版​​本更高时才会替换文件。因此,假设您的升级工作正常,请增加版本化文件的文件版本,如果它们没有文件版本,则开始使用它们。

https://msdn.microsoft.com/en-us/library/aa367835(v=vs.85).aspx

  1. 除非上下文相同,否则升级将不起作用:Everyone 安装将仅升级 Everyone 安装,而 Just me 安装将仅升级 Just me 安装的产品。如果您在 Programs&Features 中看到两个条目,则说明它没有正常工作。

【讨论】:

    猜你喜欢
    • 2018-06-21
    • 1970-01-01
    • 2013-11-01
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    相关资源
    最近更新 更多