【问题标题】:Launch ClickOnce application via web url doesn't work in windows 8通过 Web url 启动 ClickOnce 应用程序在 Windows 8 中不起作用
【发布时间】:2012-11-14 14:54:16
【问题描述】:

我们有一个应用程序套件,它通过启动器启动子应用程序。启动器通过带有查询字符串的 ClickOnce Url 调用其他应用程序。我们这样做的方式是通过以下代码:

 WebBrowser webBrowser1 = new WebBrowser();
 webBrowser1.Navigate(url);

我们使用以下代码在客户端应用程序中使用查询字符串:

 string url = AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData[0];
            if (!isNetworkDeployed)
            {
                return false;
            }
            string queryString = (new Uri(url)).Query;

在 Windows 8 中,queryString 似乎总是为空。

然后根据 MSDN 我做了以下更改来获取查询字符串:

        private NameValueCollection GetQueryStringParameters()
    {
        NameValueCollection nameValueTable = new NameValueCollection();

        if (ApplicationDeployment.IsNetworkDeployed)
        {
            string queryString = ApplicationDeployment.CurrentDeployment.ActivationUri.Query;
        }
        return (nameValueTable);
    }

当我通过浏览器(Internet Explorer)调用应用程序时,这似乎正在工作。但是通过 Web 浏览器控件调用相同的 url 时会出现 clickonce 错误。

对此有何想法?

谢谢, 阿尼夫

【问题讨论】:

    标签: c# windows-8 clickonce


    【解决方案1】:

    我在使用 WebBrowser 类并尝试导航到 Windows 8 上的 clickonce .application 文件时看到了同样的问题。.application 文件将下载然后在本地运行,导致找不到文件错误。在 Windows 7 及更低版本中,.application 文件在服务器上执行,运行良好。

    解决方法是在部署 clickonce 包时将 -ProviderURL 参数添加到 mage。 ProviderURL 的值是 .application 文件的完全限定路径。

    【讨论】:

    • 很抱歉投了反对票。这是一个错误的点击错误,这对我有用。
    猜你喜欢
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多