修复: 文件和注册表中的安装路径消失意外时安装 MSI 文件已从 Visual Studio 2008 的重大升级到 Visual Studio 2010 的安装项目

症状

请考虑以下情况:

  • 生成一个 Microsoft Visual Studio 2008 的安装项目,然后将生成的 MSI 文件安装到安装路径。

  • 迁移到 Visual Studio 2010 的安装项目,然后执行以下操作为主要升级:

    • 更改产品属性的主要字段。

    • 更改产品代码属性。

    • RemovePreviousVersions属性设置为True时。

  • 重新生成安装项目,然后安装在相同的安装路径生成的 MSI 文件。

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

原因

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

解决方案

若要解决此问题,请应用此修补程序。 此修补程序引入了BackwardCompatibleIDGeneration属性。 默认情况下,此属性设置为False。 生成安装项目中,Visual Studio 2010 之前,您必须显式将BackwardCompatibleIDGeneration属性设置为True以启用此修补程序。

修补程序信息

可以从 Microsoft 获得受支持的修复程序。 但是,此修补程序用于解决仅本文中描述的问题。 此修复程序仅适用于遇到本文中描述的问题的系统。 此修补程序可能会接受进一步的测试。 因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个软件更新。要立即解决此问题,请联系 Microsoft 客户支持服务,以获取此修复程序。 有关 Microsoft 客户服务和支持电话号码的完整列表,或要创建单独的服务请求,请访问下面的 Microsoft 网站:

http://support.microsoft.com/contactus/?ws=support回答 5: 适用于 Windows Server 2016 和 Windows 10 版本 1709 的 Windows Server 容器映像的更新包含针对这组漏洞的缓解措施,不需要进行额外的配置。 在特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新能够解决您的问题,可能取消的通常情况下收取的电话支持服务费用。 照常收取支持费用将应用于其他支持问题和对于特定更新无法解决的问题。若要从 MSDN 代码库中下载此修补程序,请访问下面的 Microsoft 网站:

http://code.msdn.microsoft.com/KB2418919回答 5: 适用于 Windows Server 2016 和 Windows 10 版本 1709 的 Windows Server 容器映像的更新包含针对这组漏洞的缓解措施,不需要进行额外的配置。 MSDN 代码库显示获取此修复程序的语言。 如果看不到列出的语言,这是因为代码库的资源页不可用这种语言。或者,您可以从以下 Microsoft 连接网站下载此修补程序:

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=32676

先决条件

若要应用此修补程序,您必须安装的 Visual Studio 2010。

重启信息

您可能需要在应用此修补程序后,重新启动计算机。 我们建议您应用此修补程序之前,退出 Visual Studio 或 Microsoft.NET Framework 应用程序的任何实例。

修补程序替换信息

此修补程序不替代以前发布的修补程序。

文件信息

此修补程序的全球版本将安装具有下表所列属性的文件。 这些文件的日期和时间使用协调世界时 (UTC) 列出。 这些文件在本地计算机上显示的日期和时间是本地时间再加上当前夏令时 (DST) 偏差。 此外,如果对这些文件执行某些操作,日期和时间可能会更改。

文件名

文件版本

文件大小

日期

时间

平台

Dpca.dll

10.0.30319.464

236,872

11-May-2011

13:08

x86

Dpdpl.dll

10.0.30319.464

145,232

11-May-2011

13:08

x86

Dpdpl.dll

10.0.30319.464

145,744

11-May-2011

13:08

x86

Dpdpl.dll

10.0.30319.464

146,256

11-May-2011

13:08

x86

Dpdpl.dll

10.0.30319.464

147,280

11-May-2011

13:08

x86

Dpdpl.dll

10.0.30319.464

147,792

11-May-2011

13:08

x86

Dpdpl.dll

10.0.30319.464

148,304

11-May-2011

13:08

x86

Dpdpl.dll

10.0.30319.464

904,520

11-May-2011

13:08

x86

Dpedt.dll

10.0.30319.464

696,136

11-May-2011

13:08

x86

Dpplg.dll

10.0.30319.464

2,606,408

11-May-2011

13:08

x86

Dpprj.dll

10.0.30319.464

1,229,640

11-May-2011

13:08

x86

Dpprjui.dll

10.0.30319.464

163,152

11-May-2011

13:08

x86

Dpprjui.dll

10.0.30319.464

163,664

11-May-2011

13:08

x86

Dpprjui.dll

10.0.30319.464

167,248

11-May-2011

13:08

x86

Dpprjui.dll

10.0.30319.464

168,272

11-May-2011

13:08

x86

Dpprjui.dll

10.0.30319.464

178,000

11-May-2011

13:08

x86

Dpprjui.dll

10.0.30319.464

178,512

11-May-2011

13:08

x86

Dpprjui.dll

10.0.30319.464

180,560

11-May-2011

13:08

x86

Dpprjui.dll

10.0.30319.464

181,072

11-May-2011

13:08

x86

Dpprjui.dll

10.0.30319.464

181,584

11-May-2011

13:08

x86

Projectsidl3.tlb

Not applicable

2,816

10-May-2011

03:47

Not applicable

解决方法

若要变通解决此问题,请使用下列方法之一:

  • 方法 1: 手动更改所有组件的 Guid 与 Visual Studio 2008 的相同。

  • 方法 2: Resequence InstallInitialize操作后面的RemoveExistingProducts操作。 这将确保,删除,然后重新安装较新版本较旧的文件。回答 5: 适用于 Windows Server 2016 和 Windows 10 版本 1709 的 Windows Server 容器映像的更新包含针对这组漏洞的缓解措施,不需要进行额外的配置。 当您具有共享组件此方法不起作用。

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

更多信息

有关软件更新术语的更多信息,请单击下面的文章编号以查看 Microsoft 知识库中的相应文章:

824684 用于描述 Microsoft 软件更新的标准术语的说明

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×