好吧,我要发疯了。
我们有一个通过clickonce部署到UAT用户的包,通过HTML页面链接为他们提供下载的URL。直到最近,我们还没有对任何软件包进行版本控制,所以它们都有1.0.0.0版本--最终的结果是,当我们向UAT发布新版本时,他们必须先卸载旧版本,然后才能下载新版本,因为UAT认为它们在其他方面是相同的应用程序标识。因为他们没有管理员访问权限,所以这有点问题,导致他们不得不删除c:\documents and settings\username......对于clickonce和remove注册表项,
他们安装的最后一个版本是UAT 5。我现在已经建立了一个UAT 6版本,它的标识是版本6.0.0.0,所以如果他们点击启动链接,它应该会自动下载,而不必删除5。它确实下载了一些东西,你可以看到它下载了一个包-而不是像没有更新时直接打开应用程序-但当应用程序打开时,它仍然是版本5,通过检查文档和设置中的文件大小来确认。
我个人可以点击相同的URL链接,它会为我下载版本6。我使用控制面板->添加删除程序来删除以前的版本,由于访问控制,它们不能删除,但这是唯一的区别。
在他们的机器上,我可以删除所有文件,所有注册表设置,然后点击为我下载版本6的相同链接,但不知何故,他们最终还是下载了版本5。
有什么想法吗?我快疯了!
发布于 2014-02-26 00:33:36
听起来好像客户端机器正在检测到有一个新的发布包,但是EXE本身并没有改变。为了节省时间/带宽,对于身份没有改变的任何程序集,ClickOnce会将以前下载的程序集带到本地计算机上的缓存中。
换句话说,听起来像是在更新发布版本,而不是程序集版本。要使较新程序集的标识不同,请确保更新两个程序集版本(在项目属性>应用程序>程序集信息...下)以及发布版本(在项目属性>发布下)。
您也可以添加文件版本(也可以在项目属性>应用程序>程序集信息...)为了更好地衡量,但这一点从来没有出现在应用程序清单中。
https://stackoverflow.com/questions/15029089
复制相似问题