ClickOnce启动程序在应用程序启动时不会获取最新版本

时间:2012-02-16 14:53:17

标签: .net deployment clickonce

在我们公司,我们对客户端/服务器应用程序的客户端部分使用clickonce部署。 Clickonce包部署到安装了FrontPage扩展的IIS服务器。我们直接从Visual Studio 2010编译,签名和发布到IIS。我们设置了clickonce包,以便在每次应用程序启动时检查更新版本

该应用程序有~100个用户@远程机器。最近,当我们发布最新版本时,一些客户端(约10-15%)最终仍在使用旧版本。当我们远程连接到其中一个客户端并启动应用程序时,我们看到clickonce启动器检查更新的版本,然后启动应用程序而不进行更新。然后我们必须卸载该应用程序并通过clickonce生成的网页再次安装它以获得最新版本。

为什么会发生这种情况的任何想法以及我们如何防止它?有没有办法启用日志记录,看看为什么启动器没有拿起更新的版本,即使它在应用程序启动时检查它?

2 个答案:

答案 0 :(得分:1)

运行Fiddler并在其中一台无效的计算机上启动该应用。验证它是否在正确的位置检查更新,并且更新调用正在成功。

答案 1 :(得分:0)

根据需要,我可能希望尝试我的团队在部分部署中使用的两个选项。这些可能不完全符合您的需要,因为每个人都有警告,但应该解决您的问题。

  1. 在“发布”设置中设置“应用程序仅在线提供”。 (默认为脱机模式,可以像普通程序一样安装到Windows)此模式在每次启动时从publish.html重新下载应用程序,而不是在Windows中安装。您必须每次都启动html或setup.exe。我们通过制作“菜单”应用程序来解决这个烦恼,这些应用程序只有一堆按钮/链接指向我们在线模式中的应用程序,以便用户可以找到它们。

  2. 如果您仍然希望像正常一样坚持离线模式,请尝试设置所需的最低版本=当前版本。这应该迫使ClickOnce每次都获得最新版本,这似乎对我有用,但我还没有对此进行全面测试。