我们有一个应用程序套件,它通过启动器启动子应用程序。启动器通过带有查询字符串的 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 错误。
对此有什么想法吗?
谢谢,阿尼夫