我认为ClickOnce应用程序与Windows防火墙无法顺利工作。
我已经成功地使用ClickOnce部署了两年。现在企业升级到Windows 7,这成为了一个绊脚石。每个用户的配置都发生了变化:
- 每个用户的机器上启用了Windows防火墙
- 用户没有管理员权限
ClickOnce的工作原理如下:每次更新ClickOnce应用程序时,可执行文件会复制到一个新目录中。该目录具有机器生成的名称(例如,可能部署到“C:\Users\andrew.shepherd\AppData\Local\Apps\2.0\GTTG5EJB.AVG\jc69hir.e45\watershedclient.exe”)。
默认情况下,Windows防火墙会阻止应用程序接受传入呼叫。但是,当应用程序首次尝试时,Windows防火墙会弹出一个对话框,允许管理员为应用程序创建一个例外,赋予其所需的特权。
问题是,Windows防火墙将应用程序记录存储为完整的文件路径。每次更新ClickOnce应用程序时,它都会安装到不同的目录中。因此,Windows防火墙将其视为全新的应用程序。现在,管理员必须为每台更新的机器配置防火墙。这有效地破坏了我们使用ClickOnce技术的整个原因。
这个问题在2005年被标记为一个问题,微软承认了这个问题并且承认没有解决方案。
这个问题已经得到解决吗?