ClickOnce应用程序不会更新或启动

时间:2010-04-20 19:52:11

标签: clickonce

我有一个使用ClickOnce部署的Windows Forms应用程序,但用户导航到网络驱动器并双击setup.msi而不是使用网页进行安装。

我有两个安装了它的用户,它在过去工作过。我上周做了一个uppate,现在当用户尝试启动应用程序时,弹出“验证应用程序要求”的窗口,然后当它消失时,没有任何反应。询问是否可以更新的对话框永远不会弹出。

网络用户已经验证他们拥有网络驱动器的权限(但是,如果这是问题,我会发出错误消息)。

可能导致这种情况发生的原因是什么?

4 个答案:

答案 0 :(得分:2)

最近是否为用户安装了Kensington硬件驱动程序(例如鼠标或tracball)?有一个驱动程序错误导致ClickOnce应用程序的行为方式与您所描述的非常接近。这是问题的one discussion

答案 1 :(得分:1)

  • 您是否碰到了发布版本? (但是,发布向导应该自动执行此操作)

  • 您是否更改了任何内容 - 例如程序集名称?

  • 您是否将更新标记为强制更新? (也就是说,将所需的最小版本设置为等于新的发布版本。)如果没有,则有可能某些用户在更新时单击“跳过”,并且应用程序将不再尝试自我更新七天。 这些用户必须卸载他们当前的应用程序,他们必须手动安装新的应用程序 - 或者等待一周。

答案 2 :(得分:0)

如果发布的位置在IIS上,请确保IIS网站正常运行。您可以通过查看ClickOnce Installer网页是否来自http托管位置来执行此操作。

我今天遇到了这个问题。发布了一个类似我过去几十次的更新 - 结果发现IIS中的应用程序池出了问题。更改应用程序池(或重新启动Web服务器)解决了该问题。

答案 3 :(得分:0)

我遇到了这个问题,因为Windows将ClickOnce缓存标记为来自Internet(而不是来自IE可信站点区域中的站点)。只要您知道该应用程序是安全的,就可以download Sysinternals streams.exe并从命令提示符下运行它,如下所示:

streams.exe -s -d c:\Users\YourUserProfile\AppData\Local\Apps\2.0

这将清除所有告诉Windows缓存的二进制文件来自Internet的备用数据流,从而允许程序启动。

我曾尝试将ClickOnce源URL添加到“ Internet Explorer可信站点”区域中,但这并不能解决我的问题。