【问题标题】:ClickOnce version not updatingClickOnce 版本未更新
【发布时间】:2012-05-24 13:29:48
【问题描述】:

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

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

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

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

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

这是错误日志:

平台版本信息 视窗:6.1.7601.65536 (Win32NT) 公共语言运行时:4.0.30319.17020 System.Deployment.dll:4.0.30319.17020 构建者:FXM3REL clr.dll : 4.0.30319.17020 由: FXM3REL 构建 dfdll.dll : 4.0.30319.17020 由: 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,Version=2.0.0.12,Culture=neutral,PublicKeyToken=4bf6f9c465057aee,processorArchitecture=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) Not Found.

【问题讨论】:

    标签: winforms installation clickonce


    【解决方案1】:

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

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

    【讨论】:

      【解决方案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"

      enter image description here

      【讨论】:

        【解决方案3】:

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

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

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

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

        【讨论】:

          【解决方案4】:

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

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

          所以我问 IT 部门是否可以帮助我,他们做到了……之后就没有问题了……

          【讨论】:

          • 那么,您的答案是让 IT 帮助您吗?
          • 我的问题是关于互联网缓存...不是 clickonce...这是事实,因为在其他地方它工作正常...
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-10-28
          • 1970-01-01
          • 2018-02-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多