通过 Internet 部署 WPF (ClickOnce)

WPF (ClickOnce) deployment over internet

早上好,我一直在努力为我们的 ClickOnce 部署找出根本原因或可能的解决方案。

背景: 我们有一个 WPF 应用程序,可以通过启动参数或不使用它来触发。此应用程序已使用 ClickOnce 部署并发布到我们的本地服务器之一。 Intranet 内的用户可以 download/execute 成功并且所有工作都按预期进行。

更改内容: 我们最近需要从 Internet 访问此应用程序。为此,我们创建了一个 asp.net 网络应用程序并指向我们的一个子域。此应用程序有一个带按钮的网页。

想法是在单击按钮时调用本地部署的 WPF 应用程序。

var url = string.Format("{0}?appId={1}", "http://serverip/wpfclient/wpf.application", Session["appreference"].ToString());
            Process.Start(url);

问题: 我们已尝试 IE/Chrome/Mozilla/Opera 访问上述网站。但是,none 的浏览器会打开 WPF 应用程序。单击它什么也不做。此外,我们遵循 MSDN 指南以确保所有建议的步骤。

However, still we couldn't get this work. Is there anything else we should be following to get this work?

到目前为止我们做了什么:

  1. 程序集已使用证书登录
  2. 未选中 IIS 中的应用程序/.config 扩展
  3. clickOnce 安全设置并选择 Zone 作为完全信任的 Internet。

调试结果:

  1. 我们能够调试 asp.net 服务器代码以查看是否处理 正在执行并且确实如此。
  2. 我们能够检查 request/response 使用 Fiddler 但在 log
  3. 中找不到任何异常

请求 POST /?var=2010703 HTTP/1.1

接受:text/html、application/xhtml+xml、

推荐人:http://xxxxx.xxxxxx.co.uk/?var=2010703

接受语言:en-GB

用户代理:Mozilla/5.0(Windows NT 6.1;WOW64;Trident/7.0;rv:11.0)像 Gecko

内容类型:application/x-www-form-urlencoded

接受编码:gzip、deflate

连接:保持活动状态

内容长度:526

DNT: 1

主持人:xxxxx.xxxxxx.co.uk

编译指示:无缓存

Cookie:ASP.NET_SessionId=qp5oszednhvasjqhws4dpoyh

回应 HTTP/1.1 200 行

缓存控制:私有

内容类型:text/html;字符集=utf-8

内容编码:gzip

变化:接受编码

服务器:Microsoft-IIS/7.5

X-AspNet-版本:4.0.30319

X 技术支持者:ASP.NET

日期:2015 年 7 月 14 日,星期二 07:32:40 GMT

内容长度:1247

只是为了更新,我们已经更改了我们的互联网组策略以豁免此 link 这样,我们就可以启动我们的应用程序了。所以解决方案是调整组策略以适应 link.