我是ClickOnce应用程序的新手。我发布了我的应用程序(本地,在我的开发计算机上),使用发布文件夹中的setup.exe安装应用程序,然后运行该程序。一切都很好。
我对应用程序进行了一些更新,并希望在我的计算机上安装新版本进行测试。所以我使用“添加/删除程序”卸载了以前的版本。现在,当我去安装下一个版本时(从第一次安装以外的其他目录),我得到臭名昭着的#34;你无法从这个位置启动应用程序,因为它已经从不同的位置安装。"消息。
我正在研究使用install-over-the-interwebs选项,以便我可以在线更新它,对于我的客户端,但是现在,我只是使用"来自CD-ROM&#进行测试34;安装。
基本上,我已经软管了。我之前的安装已卸载,因此我无法访问它。并且无法安装任何新版本,因为已安装的版本抱怨我之前的版本仍在那里。
我的目标是让计算机相信我之前的版本确实已卸载。显然有一些令人困惑的东西挥之不去。
感谢您的帮助。
答案 0 :(得分:0)
所以我的解决方案是两部分修复。
首先,我现在从URL更新我的应用程序。您可以使用本地文件夹或网站。我这样做的方法是将我的应用程序发布到同一解决方案中的网站文件夹中。然后我将网站发布到一个蔚蓝的网站。然后下载应用程序我只是去那个网站/.
其次,我遵循了一些建议:http://social.msdn.microsoft.com/Forums/windows/en-US/9e4b714e-bad4-4c62-a7ad-3c80e32d95eb/clickonce-fails-with-value-does-not-fall-within-the-expected-range?forum=winformssetup 建议是这样做:
Mike, I am one of the previous posters here. I "solved" this (i.e. it rarely happens anymore) by turning off ClickOnce automatic version incrementing, and by making sure at every release I change the version in four places:
- assembly info for both assembly and file version
- ClickOnce version (making sure to keep the automatically increase version checkbox off)
- under Update, making sure I always set the minimum version to the same as elsewhere
我发现我的版本号在所有这些地方都不匹配 - 特别是在AssemblyInfo.cs中没有更新程序集号和文件版本号。一旦我手动将这些全部设置为相同的新号码,将应用程序发布到我的本地文件夹(在网站内),将我的网站发布到azure,通过FTP进入我的网站并删除“Application Files”文件夹中的旧版本文件夹,如上所述从我的网站下载了应用程序,我可以安装并运行应用程序而不会出错。
我不知道这个解决方案是否能够解决其他人的问题,但它确实是值得的。
感谢阅读。