ランチャーを介してサブアプリケーションを起動するアプリケーションスイートがあります。ランチャーは、クエリ文字列を使用して 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);
}
これは、ブラウザー (インターネット エクスプローラー) を介してアプリケーションを呼び出すと機能しているようです。ただし、同じ URL を Web ブラウザ コントロール経由で呼び出すと、クリックオンス エラーが発生します。
これに関するアイデアはありますか?
ありがとう、アニーフ