【发布时间】:2011-04-08 15:24:35
【问题描述】:
我开发了一个 WPF 应用程序。一家大公司正试图将我的应用程序提供给用户的桌面。执行此操作的传统方法是将用户的浏览器指向:
http://www.MySite.com/MyApp.application
但是 I.T.出于安全原因,这家公司的团队已将其代理服务器配置为阻止 .application 文件。但是,它们确实允许 .exe 文件通过其代理服务器并在客户端工作站上执行。具有讽刺意味的是,在“出于安全原因”阻止 .application 文本文件的同时允许来自 Internet 的 .exe 文件并没有浪费在我身上,但让我们暂时搁置一下。
在允许 .EXE 的情况下,您会推荐哪种解决方法来允许我的应用从客户端桌面启动?我的第一个想法是编写一个迷你启动器应用程序,它只是将 .application 文件的 .zip 版本和所有依赖项下载到用户计算机上的临时文件夹,然后从那里启动 .application 文件。有没有更好的解决方案?
FWIW:尽管 ClickOnce 是他们的部署机制,但谷歌已经找到了一种将 Chrome 浏览器部署到像这样的公司的 Windows 桌面的方法。如果您在以下位置查看源代码:
http://www.google.com/chrome/thankyou.html?&oneclickinstalled=
...您会看到他们指向安装程序:
/update2/installers/clickonce/GoogleInstaller_en.application。
这是一个 clickonce 文件。但不知何故,他们想出了一种将其包装在 .exe 中的方法,以绕过对 .application 文件的代理限制。我对 JScript 不够熟悉,无法理解他们在做什么,但它确实有效。我正在尝试为我自己的应用模拟这种行为。
【问题讨论】:
标签: deployment clickonce