3

ユーザーは、スタート メニュー/デスクトップ ショートカットからClickOnce WPFアプリケーションを実行します。アプリケーションが起動するたびに、最初にダウンロードした URL を取得する必要があります。ActivationUri を使用してみましたが、デスクトップ/スタート メニューのショートカットではなく、Web サイトの setup.exe から直接実行した場合にのみ機能します。

string activationUri = "???";
try
{
    if (System.Deployment.Application.ApplicationDeployment.CurrentDeployment == null)
    {
        activationUri = "currentDeployment is null";
    }
    else if (System.Deployment.Application.ApplicationDeployment.CurrentDeployment.ActivationUri == null)
    {
        activationUri = "deployment not null but uri is";
    }
    else if (System.Deployment.Application.ApplicationDeployment.CurrentDeployment.ActivationUri != null)
    {
        activationUri =
            System.Deployment.Application.ApplicationDeployment.CurrentDeployment.ActivationUri.AbsoluteUri;
    }
}
catch (Exception ex)
{
    activationUri = ex.Message;
    //Error getting the URL so put question mark
}

MessageBox.Show(activationUri);

セットアップから (Web サイトから) 実行すると、URL が取得され、1 回おきに「デプロイメントは null ではありませんが、URI は」と表示されます。

4

3 に答える 3

2

ApplicationDeployment.UpdateLocationプロパティを試してください。Visual Studio の [プロジェクト プロパティ] -> [発行] -> [更新] -> [更新場所] で別の更新 URL を構成していない限り、元の配置 URL が返されます。

于 2012-04-19T12:44:21.823 に答える
1

アプリケーションを最初にダウンロードして実行するときにURIをどこかに保存し、アプリケーションがオフラインで実行するときにこの値を参照するだけでよいと思います。

于 2012-04-17T14:46:58.380 に答える