ClickOnce 应用程序无法更新

本文可帮助你解决 ClickOnce 应用程序无法更新的问题。

原始产品版本: .NET Framework 3.5 Service Pack 1、3.5.1
原始 KB 数: 2713442

症状

请考虑此方案。 你有一个 ClickOnce 应用程序,该应用程序在首次安装时始终成功。 但是,在后续启动期间,ClickOnce 应用程序在检查更新时失败。 当有可用的更新时,它似乎是随机的,但更为普遍。

确定本文是否适用的另一种方法是通过删除 ClickOnce 文件缓存来暂时更正问题。

原因

中断文件系统和注册表数据之间的同步的任何内容都可能导致 ClickOnce 应用程序更新失败。

  • 一个不完整的系统还原,它只还原文件,而不是用户配置文件。 注册表项 HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\Windows\CurrentVersion\Deployment\SideBySide\2.0 应与以下文件夹中的文件处于相同的状态:

    • Windows XP: %userprofile%\Local Settings\Apps\2.0\*.*

    • Windows Vista 及更高版本: %userprofile%\AppData\Local\Apps\2.0\*.*

  • 漫游配置文件不受支持的原因相同;文件可能与注册表数据不匹配。 请参阅 漫游配置文件不支持 clickOnce 部署Microsoft。

  • 非正常操作系统关闭,例如电源故障。

  • 未正常注销,例如关闭计算机,而不是注销或关闭。

决议

除了避免“原因部分中列出的方案外,还可以使用 .NET Framework 4.0 或更高版本在目标计算机上查看损坏的一些减少。 .NET Framework 4.0 进行了改进,使其更可靠,因此与早期框架版本相比,更新失败更少。 无需使用 .NET Framework 4.0 开发应用程序。 只需在目标计算机上安装它即可。

这些问题的缓解措施仍然是:

  • 尝试从 “添加和删除程序 ”(ARP、Windows XP)或 程序和功能 (Windows Vista 及更高版本的操作系统)中卸载应用程序。
  • 如果程序未成功卸载,请删除 ClickOnce 文件缓存。

删除 ClickOnce 文件缓存

若要删除 ClickOnce 文件缓存,请基于操作系统删除此文件夹的内容。

  • Windows XP 和 Server 2003 - %userprofile%\Local Settings\Apps\2.0\*.*
  • Windows Vista 和 Server 2008 及更高版本 - %userprofile%\AppData\Local\Apps\2.0\*.*

删除这些文件将清除所有已安装 ClickOnce 应用程序的信息。 下次使用快捷方式或统一资源标识符(URI)时,它们将重新安装。

无需删除注册表数据。 有关参考,ClickOnce 注册表数据位于 HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\Windows\CurrentVersion\Deployment\SideBySide\2.0