【问题标题】:ClickOnce deployed application asks to install update even if there exists noneClickOnce 部署的应用程序要求安装更新,即使不存在
【发布时间】:2012-01-17 12:46:33
【问题描述】:

我有 ClickOnce 部署了用 C# 编码的应用程序。不知道有没有人遇到过同样的问题。

Clickonce 部署的应用程序始终在执行之前检查更新。我的一个使用此应用程序的客户通知我该应用程序要求安装的更新,即使我们没有部署任何更新。我的客户安装了更新。但是安装的是相同的版本。此时,我想知道为什么 clickonce 应用程序会决定是否部署了更新。我相信这是一个奇怪的问题,我无法弄清楚它为什么会发生。

有没有人知道为什么会发生这种奇怪的事情?我怀疑可能是安装的某些文件被删除,从而导致程序重新安装。但我不确定。

【问题讨论】:

  • 您检查过应用程序的版本吗?除非更新版本,否则 clickonce 不会提示输入新版本。
  • 几个月前我已将最新部署的版本安装到客户端机器上。最新部署的版本和客户端安装的版本匹配。即使是这种情况,clickonce 还是神秘地要求更新安装。

标签: c# visual-studio-2008 clickonce


【解决方案1】:

我们的一些客户之前遇到过这个问题。问题最终是由于其代理服务器上的对象缓存造成的。基本上,客户端实际上运行的是旧版本,因此当他们启动您的程序时,ClickOnce 会正确报告有可用更新。问题是客户端的代理服务器缓存了程序的旧副本,因此当更新程序运行时,代理服务器会拦截更新请求,而是发回程序的缓存副本来代替更新。 ClickOnce 直到下次启动时才注意到“更新的”程序实际上还没有更新。

解决方案是与您客户的 IT 人员取得联系,并尝试找出缓存发生的位置并让他们清除缓存。它可能在他们定制的代理服务器上,但像 Barracuda 这样的网络过滤器也可以缓存对象,一些更高级的 Cisco 路由器也是如此。

【讨论】:

  • 如果部署了更新,可能会出现这种情况。让我澄清一下;客户端安装了 1.0.0 版。我们部署的最新版本是 1.0.0 版本。尽管情况正如我所表达的那样,clickonce 还是警告用户有更新。这是我无法理解的一点。但是,我相信这可能是由于客户的 IT 基础架构配置发生了变化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 2011-10-01
  • 1970-01-01
  • 2010-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多