【问题标题】:Why is my MSI uninstalling after installing?为什么安装后我的 MSI 会卸载?
【发布时间】:2013-01-09 05:26:48
【问题描述】:

我已经使用部署项目模板在 Visual Studio 2010 中创建了一个 MSI。它曾经可以工作,但现在它在安装较早版本时开始起作用 - 即升级。我已将RemovePreviousVersions 设置为true,但实际发生的是它在安装新版本之后删除了“以前的”版本,同时也有效地删除了 版本。在MSI log 文件中,我看到了这方面的证据。 (请随意检查)

正常的安装过程不应该是1.卸载旧版本,2.安装新版本吗?有人对此有什么解释吗?

【问题讨论】:

  • 令我印象深刻的是,您设法通过我有些不完整的问题描述中的单个链接解决了问题 :-) 如果您将其发布为答案而不是评论,我会将其视为正确答案。

标签: visual-studio-2010 windows-installer


【解决方案1】:

我不确定它是否匹配,但你表示它是。当您将项目从 VS2008 移动到 VS2010 时,安装项目功能的 VS2010 版本中存在一个错误。引用自KB article

出现此问题是因为在 Visual Studio 2010 中创建 GUID 时使用了不同的哈希算法。当您安装从 Visual Studio 2010 安装项目创建的 MSI 文件时,MSI 文件确定 GUID 已更改并删除基于项目顺序的安装路径的文件和注册表项。

在这种情况下,安装路径的文件和注册表项会意外消失。

它有一个修补程序,请按照知识库文章链接进行下载和使用说明。

【讨论】:

  • 确实是问题所在,因为我最近将 .sln 文件从 2008 年升级到 2010 年。不过,我并没有想到这是相关的。很高兴我在寻求帮助之前“只”在这个问题上浪费了 2 个小时。
  • FWIW,该项目类型已从 VS 2012 中删除。很可能你所有的时间都浪费了。这个工具很糟糕,因为它从 Windows Installer 中抽象出开发人员的能力太差,甚至没有公开组件的概念。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-24
  • 2016-01-16
  • 2020-12-20
  • 2011-11-29
  • 2023-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多