我已经使用C#编写了ClickOnce部署的应用程序。我想知道是否有人遇到过同样的问题。
Clickonce部署的应用程序在执行之前始终检查更新。我的一个使用此应用程序的客户通知我有关应用程序要求安装的更新,即使我们没有部署更新也是如此。我的客户安装了更新。但是安装的是相同的版本。此时,我想知道为什么clickonce应用程序会决定是否部署了更新。我相信这是一个奇怪的问题,我无法弄清楚它为什么会发生。
有谁知道为什么会发生这种奇怪的事情?我怀疑可能会删除一些安装文件,从而导致重新安装程序。但我不确定。
答案 0 :(得分:2)
我们之前遇到过一些客户问题。问题最终是由于代理服务器上的对象缓存造成的。基本上,客户端实际 运行旧版本,因此当他们启动您的程序时,ClickOnce会正确报告可用的更新。问题是客户端的代理服务器缓存程序的旧副本,因此当更新程序运行时,代理服务器会拦截更新请求,而是发送回程序的缓存副本来代替更新。 ClickOnce在下次启动之前没有注意到“更新的”程序仍未实际更新。
解决方案是与客户的IT人员联系,并尝试找出缓存发生的位置并让他们清除缓存。它可能在他们定制的代理服务器上,但像Barracuda这样的webfilters也会对对象进行缓存,一些更高级的Cisco路由器也是如此。