将WPF ClickOnce .application文件部署为.EXE

时间:2011-04-08 15:24:35

标签: deployment clickonce

我开发了一个WPF应用程序。一家大公司正在尝试将我的应用程序提供给用户的桌面。传统的方法是将用户的浏览器指向:

http://www.MySite.com/MyApp.application

但I.T.该公司的组已经以这样的方式配置了他们的代理服务器,以便出于安全原因阻止.application文件。但是,它们允许.exe文件通过其代理服务器并在客户端工作站上执行。允许.exe来自互联网同时阻止.application文本文件“出于安全原因”的讽刺意味并没有浪费在我身上,但让我们把它放在一边。

如果允许.EXE 允许我的应用从客户端桌面启动,您会建议采用哪种解决方法?我的第一个想法是编写一个迷你启动器应用程序,除了将.appip文件的.zip版本和所有依赖项下载到用户计算机上的临时文件夹,然后从那里启动.application文件。有更好的解决方案吗?

FWIW:尽管ClickOnce是他们的部署机制,谷歌已经找到了将这种Chrome浏览器部署到像这样的公司的Windows桌面的方法。如果您在以下位置查看源代码:

http://www.google.com/chrome/thankyou.html?&oneclickinstalled=

......你会发现他们指的是安装人员:

/update2/installers/clickonce/GoogleInstaller_en.application。

这是一个clickonce文件。但不知何故,他们已经找到了一种方法将它包装在.exe中,以绕过.application文件的代理限制。我对JScript不太熟悉,无法理解他们正在做什么,但它有效。我正在尝试为自己的应用程序模拟这种行为。

1 个答案:

答案 0 :(得分:0)

这可能对您的情况不起作用。但是,一种可能性是将您的exe和任何依赖项xcopy写入Web服务器上的文件夹。将网页中的链接添加到您的exe,以便您的用户可以通过单击链接启动该应用。为了让任何用户能够第一次运行exe,需要在每台用户计算机上运行caspol脚本以允许您的应用程序运行。每当您更新应用程序时,只需将新版本xcopy到Web服务器上的同一文件夹即可。