本文可帮助你解决 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
。