6

我的 ClickOnce 应用程序当前版本为 2.0.0.12。我更新了应用程序,将已发布和程序集的版本号更改为 2.0.0.13。当我在客户端桌面上启动应用程序时,它会检查更新但不识别更新可用并正常运行。

我启动了提琴手并观察了请求和它撤回的清单仍然有 2.0.0.12 版本参考。

在服务器上,我一并删除了 2.0.0.12 版本,关闭了服务器上的缓存并从桌面上卸载了该应用程序。

当我启动安装程序时,它无法下载文件,因为它找不到 2.0.0.12 版本文件夹。我更新了服务器上的 Application.htm、Setup.exe 和 .application 文件,它们反映了正确的 2.0.0.13 版本。

我的问题是:ClickOnce 应用程序到底从哪里获得对先前版本的引用?

这是错误日志:

平台版本信息 Windows:6.1.7601.65536 (Win32NT) 公共语言运行时:4.0.30319.17020 System.Deployment.dll:4.0.30319.17020 构建者:FXM3REL clr.dll:4.0.30319.17020 构建者:FXM3REL 319.dll:FXM3REL dfdll.17作者:FXM3REL dfshim.dll:4.0.31106.0(Main.031106-0000)

来源 部署网址:{URL_REMOVED}\AlphaManager.application 服务器:Microsoft-IIS/7.0 X-Powered-By:ASP.NET 部署提供程序网址:{URL_REMOVED}/install/AlphaManager.application 应用程序网址:{URL_REMOVED}/install/Application %20Files/AlphaManager_2_0_0_12/AlphaManager.exe.manifest 服务器:Microsoft-IIS/7.0 X-Powered-By:ASP.NET

身份部署身份:AlphaManager.application,版本=2.0.0.12,文化=中性,PublicKeyToken=4bf6f9c465057aee,处理器架构=x86 应用程序身份:AlphaManager.exe,版本=2.0.0.12,文化=中性,PublicKeyToken=4bf6f9c465057aee,处理器架构=x86,类型=win32

应用程序摘要 * 可安装的应用程序。

错误摘要 下面是错误摘要,这些错误的详细信息在日志后面列出。* {URL_REMOVED}/install/AlphaManager.application 的激活导致异常。检测到以下失败消息: + 下载 {URL_REMOVED}/install/Application Files/AlphaManager_2_0_0_12/Microsoft.mshtml.dll.deploy 未成功。+ 远程服务器返回错误:(404)未找到。

4

4 回答 4

6

在您的项目属性下,单击更新按钮...。

在此处输入图像描述

然后确保您设置了正确的最低要求版本。此编号不会像您的其他发布版本号一样自动更新:

在此处输入图像描述

于 2012-05-27T19:02:07.973 回答
2

原因是互联网上的设置文件被缓存。

要解决此问题,您可以在 Internet 上的安装文件夹中创建 .htaccess 文件

编辑文件并添加此示例并更改 index.html 和 .application 文件的文件名



>  FileETag None Header unset ETag Header set
> Cache-Control "max-age=0, no-cache, no-store, must-revalidate" Header
> set Pragma "no-cache" Header set Expires "Wed, 11 Jan 1984 05:00:00
> GMT"   FileETag None Header unset ETag
> Header set Cache-Control "max-age=0, no-cache, no-store,
> must-revalidate" Header set Pragma "no-cache" Header set Expires "Wed,
> 11 Jan 1984 05:00:00 GMT" 



在此处输入图像描述

于 2021-08-14T13:54:27.580 回答
0

在我看来,ClickOnce 没有意识到它安装了应用程序的 v12,或者它只是部分安装了它,或者(更有可能)您将发布属性设置为仅在线。确保将其设置为在线/离线。

如果这仍然不能解决您的问题,请卸载该应用程序并重新安装它,然后尝试发布 v14 并查看它是否可以使用。

确保您没有设置 updateURL(假设您希望它从用于安装的同一 URL 中获取更新,这通常是这种情况)。

我不相信使它成为必需的更新会解决您的问题。听起来它没有访问正确的清单。我还要确保它在您的部署目录的顶部文件夹中查找部署清单(.application 文件),而不是在版本化文件夹(应用程序文件/yourapp_1_1_1_12/yourapp.application)下的那个。您是直接从 VS 发布,还是以另一种方式手动/以编程方式创建清单?

于 2012-05-31T05:18:51.537 回答
0

我的互联网缓存有问题,它使用的是代理缓存(公司局域网)中的 .application,它没有下载新内容......

当我打开最低版本时,停止工作......

所以我问IT他们是否可以帮助我,他们做到了......之后没有更多问题......

于 2016-02-18T15:48:14.220 回答