【问题标题】:Deploy WPF ClickOnce .application File as .EXE将 WPF ClickOnce .application 文件部署为 .EXE
【发布时间】: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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-26
      • 2013-09-16
      相关资源
      最近更新 更多