ClickOnce アプリケーションの更新プログラムを管理する

ClickOnce アプリケーションでは、更新プログラムの有無を自動的に確認するか、プログラムによって確認できます。 開発者は、更新プログラムの確認を実行するタイミングと方法、更新プログラムが必須かどうか、アプリケーションによって更新プログラムをチェックする場所などを柔軟に指定できます。

アプリケーションを起動する前に自動的に更新プログラムを確認するか、アプリケーションの起動後に一定の間隔で確認するように、アプリケーションを構成できます。 さらに、最低限必要なバージョンを指定できます。つまり、ユーザーのバージョンが必要なバージョンより古ければ、更新プログラムがインストールされます。

ユーザー要求などのイベントに基づいて、プログラムによって更新プログラムを確認するようにアプリケーションを構成できます。 このトピックの「プログラムによって更新プログラムを確認するには」の手順に、ApplicationDeployment クラスを使用して、イベントに基づいて更新プログラムを確認するコードを記述する方法が示されています。

Note

NET Core および .NET 5 以降のバージョンでは、System.Deployment.Application 名前空間内の ApplicationDeployment クラスと API はサポートされていません。 .NET 7 では、アプリケーションの配置プロパティにアクセスするための新しいメソッドがサポートされています。 詳細については、.NET の ClickOnce 配置プロパティへのアクセスに関するページを参照してください。 .NET 7 では、ApplicationDeployment メソッドと同等のメソッドはサポートされていません。

アプリケーションをある場所に配置し、別の場所からそれを更新することもできます。 「別の更新プログラムの場所を指定するには」の手順を参照してください。

詳細については、「ClickOnce の更新方法の選択」を参照してください。

更新動作は、プロジェクト デザイナー[発行] ページから使用できる [アプリケーションの更新プログラム] ダイアログ ボックスで管理します。

アプリケーションを起動する前に更新プログラムを確認するには

  1. ソリューション エクスプローラーでプロジェクトを選択し、 [プロジェクト] メニューの [プロパティ] をクリックします。

  2. [発行] タブをクリックします。

    Note

    .NET Core 3.1 および .NET 5 以降の ClickOnce では、発行ウィザードやプロジェクト デザイナーの [発行] ページではなく、発行ツールを使用して配置プロパティを設定します。 詳細については、ClickOnce を使用した .NET Windows アプリケーションの配置.NET 用 ClickOnce に関するページを参照してください。

  3. [更新] ボタンをクリックして、[アプリケーションの更新プログラム] ダイアログ ボックスを開きます。

  4. [アプリケーションの更新プログラム] ダイアログ ボックスで、[アプリケーションの更新プログラムを確認する] チェック ボックスがオンになっていることを確認します。

  5. [アプリケーションが更新プログラムを確認するタイミングを選択してください] セクションで、[アプリケーションの開始前に行う] を選択します。 これにより、ネットワークに接続されているユーザーは、常に最新の更新プログラムを使用してアプリケーションを実行できるようになります。

アプリケーションの起動後に、バック グラウンドで更新プログラムを確認するには

  1. ソリューション エクスプローラーでプロジェクトを選択し、 [プロジェクト] メニューの [プロパティ] をクリックします。

  2. [発行] タブをクリックします。

  3. [更新] ボタンをクリックして、[アプリケーションの更新プログラム] ダイアログ ボックスを開きます。

  4. [アプリケーションの更新プログラム] ダイアログ ボックスで、[アプリケーションの更新プログラムを確認する] チェック ボックスがオンになっていることを確認します。

  5. [アプリケーションが更新プログラムを確認するタイミングを選択してください] セクションで、[アプリケーションの開始後に行う] を選択します。 このようにすると、アプリケーションの起動が速くなり、バックグラウンドで更新プログラムが確認され、更新プログラムが利用可能になったときにのみユーザーに通知されます。 更新プログラムをインストールしても、更新はアプリケーションが再起動されるまで有効になりません。

  6. [アプリケーションが更新プログラムを確認する頻度を指定してください] セクションで、[アプリケーションが実行されるたびにチェックする] (既定値) または [確認する間隔] を選択し、数値と時間間隔を入力します。

Note

.NET Core および .NET 5 以降用の ClickOnce では、このタスクはサポートされていません。 詳細については、.NET 用 ClickOnce に関するページを参照してください。

アプリケーションに最低限必要なバージョンを指定するには

  1. ソリューション エクスプローラーでプロジェクトを選択し、 [プロジェクト] メニューの [プロパティ] をクリックします。

  2. [発行] タブをクリックします。

  3. [更新] ボタンをクリックして、[アプリケーションの更新プログラム] ダイアログ ボックスを開きます。

  4. [アプリケーションの更新プログラム] ダイアログ ボックスで、[アプリケーションの更新プログラムを確認する] チェック ボックスがオンになっていることを確認します。

  5. [このアプリケーションに最低限必要なバージョンを指定する] チェック ボックスをオンにして、アプリケーションのメジャー番号マイナー番号ビルド番号、およびリビジョン番号を入力します。

別の更新プログラムの場所を指定するには

  1. ソリューション エクスプローラーでプロジェクトを選択し、 [プロジェクト] メニューの [プロパティ] をクリックします。

  2. [発行] タブをクリックします。

  3. [更新] ボタンをクリックして、[アプリケーションの更新プログラム] ダイアログ ボックスを開きます。

  4. [アプリケーションの更新プログラム] ダイアログ ボックスで、[アプリケーションの更新プログラムを確認する] チェック ボックスがオンになっていることを確認します。

  5. [更新プログラムの場所] フィールドに、http://Hostname/ApplicationName 形式の完全修飾 URL、または \\Server\ApplicationName 形式の UNC パスを使用して、更新プログラムの場所を入力します。または、[参照] ボタンをクリックして更新プログラムの場所を参照します。

プログラムによって更新プログラムをチェックするには

  1. ソリューション エクスプローラーでプロジェクトを選択し、 [プロジェクト] メニューの [プロパティ] をクリックします。

  2. [発行] タブをクリックします。

  3. [更新] ボタンをクリックして、[アプリケーションの更新プログラム] ダイアログ ボックスを開きます。

  4. [アプリケーションの更新プログラム] ダイアログ ボックスで、[アプリケーションの更新プログラムを確認する] チェック ボックスがオフになっていることを確認します (必要に応じて、このチェック ボックスをオンにしてプログラムによる更新プログラムの確認を実行できます。ClickOnce ランタイムによって更新プログラムの自動的な確認を実行することもできます)。

  5. [更新プログラムの場所] フィールドに、http://Hostname/ApplicationName 形式の完全修飾 URL、または \\Server\ApplicationName 形式の UNC パスを使用して、更新プログラムの場所を入力します。または、[参照] ボタンをクリックして更新プログラムの場所を参照します。 更新プログラムの場所は、アプリケーションの更新バージョンが検索される場所です。

  6. ユーザーが更新プログラムを確認するために選択する、Windows フォーム上のボタン、メニュー項目、またはその他のユーザー インターフェイス項目を作成します。 その項目のイベント ハンドラーから、更新プログラムを確認してインストールするためのメソッドを呼び出します。 このようなメソッドの Visual Basic と Visual C# のコード例については、「方法: ClickOnce 配置 API を使用してプログラムによってアプリケーションの更新プログラムを確認する」を参照してください。

  7. アプリケーションをビルドします。