ソフトウェアインストールパッケージの迅速な作成 - ClickOnce

ソフトウェアインストールパッケージの迅速な作成 - ClickOnce

ClickOnce は、最小限のユーザー操作でインストールおよび実行できる、自動更新型の Windows ベースアプリケーションを作成するための展開テクノロジです。

最終更新 2022/11/02 20:56
沙漠尽头的狼
読了目安 3 分
カテゴリ
.NET
タグ
.NET C#

皆さん、こんにちは。砂漠の果ての狼です。

.NET は無料、クロスプラットフォーム、オープンソースの、あらゆるアプリケーションを構築するための開発者プラットフォームです。

今回は ClickOnce を使ってソフトウェアインストールパッケージを作成する方法をご紹介します。まず、ClickOne とは何かを理解しましょう。

1. ClickOnce とは

以下の段落は Microsoft ドキュメントからの引用です:https://learn.microsoft.com/ja-jp/visualstudio/deployment/clickonce-security-and-deployment?view=vs-2022。


ClickOnce は、自己更新可能な Windows ベースのアプリケーションを作成できる配置テクノロジです。これらのアプリケーションは、最小限のユーザー操作でインストールおよび実行できます。

ClickOnce 配置は、配置に固有の3つの主要な問題を解決します:

  1. アプリケーション更新の難しさ

Microsoft Windows インストーラー配置を使用すると、アプリケーションが更新されるたびにユーザーはアプリケーション全体を再インストールする必要があります。ClickOnce 配置を使用すると、更新が自動的に提供されます。変更されたアプリケーション部分のみがダウンロードされ、新しい並行フォルダーから完全な更新済みアプリケーションが再インストールされます。

  1. ユーザーのコンピューターへの影響

Windows インストーラー配置では、アプリケーションは通常、共有コンポーネントに依存するため、バージョンの競合が発生する可能性があります。一方、ClickOnce 配置では、各アプリケーションは独立しており、他のアプリケーションに干渉しません。

  1. セキュリティ権限

Windows インストーラー配置は管理者権限を必要とし、制限付きユーザーのインストールのみを許可します。一方、ClickOnce 配置では、管理者以外のユーザーがアプリケーションをインストールでき、アプリケーションに必要なコードアクセスセキュリティ権限のみを付与します。

以前は、これらの問題により、開発者は Windows ベースのアプリケーションではなく Web アプリケーションを作成せざるを得ず、インストールの容易さと引き換えに Windows フォームの豊富なユーザーインターフェイスと応答性を犠牲にしていました。ClickOnce 配置を使用するアプリケーションでは、両方のテクノロジの利点を組み合わせることができます。

2. ClickOnce を使用したインストールパッケージの作成

2.1 サーバーが必要

まず、ソフトウェア更新ファイルをホストするためのオンライン Web サイトが必要です。たとえば、Dotnet9 のルートディレクトリに WPFBlazorChat というディレクトリを作成すると、オンラインホストアドレスは https://dotnet9.com/WPFBlazorChat になります。ディレクトリは次のようになります:

2.2 インストールパッケージの作成を開始

上記のオンラインアドレスを覚えておいてください。以前紹介した WPFBlazorChat をサンプルとしてインストールパッケージを作成します。リポジトリアドレスは https://github.com/dotnet9/WPFBlazorChat です。そのため、作成したディレクトリはプロジェクト名と同じ WPFBlazorChat です。

  1. WPFBlazorChat プロジェクトを選択し、右クリックして発行

  1. 表示された画面で ClickOnce を選択し、[次へ] をクリック

  1. 発行場所は任意

  1. ソフトウェアインストールパッケージの取得アドレスを選択

  1. 設定
  • プログラムの実行時に自動更新をチェックするかどうか、ソフトウェアのバージョン番号などを設定できます。次の図のとおりです:

上の図のように、[リビジョンを自動的にインクリメント] にチェックを入れると、発行のたびにリビジョン番号が自動的に増加します(あたりまえのことですが、バージョン管理が容易になります)。

  • [アプリケーションファイル] をクリックすると、ダウンロードしなくてもよいファイルを選択できます。次の図のとおりです:

  • [必須コンポーネント] を選択します。つまり、プログラムのランタイムを選択します。プログラムはデフォルトで .NET 6 と .NET 7 をサポートしているため、サイト管理者は .NET 7 x64 を選択しました。win7 32ビットのユーザーは必要に応じて選択してください:

  • オプション設定

ソフトウェアインストールパッケージ情報を設定します。特に重要なのは発行元の名前とスイート名で、これらがソフトウェアプログラムのリリース場所を決定します:

配置ファイルの設定。Publish.html はインストールパッケージのダウンロードページを設定します。

  1. マニフェストへの署名

未設定のまま、[次へ] をクリック:

  1. プログラム発行の設定

状況に応じて選択します。サイト管理者は .NET 7 64ビット発行を選択しました。注意:前述の .NET デスクトップランタイムのバージョンと一致させる必要があります

  1. [発行] をクリック

最後の操作として、[発行] をクリック

発行が完了したら、[発行場所] のパスをクリックします:

2.3 アップロード

上記でソフトウェアインストールパッケージを作成しました。あとはインストールパッケージを Web サイトに配置するだけです。これは比較的簡単で、前提としてサイトがすでにデプロイされている必要があります:

2.4 プログラムのインストール、実行

アドレスは https://dotnet9.com/WPFBlazorChat/Publish.html です。

上の図のように、作成したインストールパッケージの設定(ソフトウェアインストールパッケージ名、バージョン番号、発行元、必要な .NET ランタイムバージョンなど)が表示されます。[インストール] ボタンをクリックすると、setup.exe インストールファイルがダウンロードされます。このファイルは非常に小さく、666KB と縁起の良い数字です:

setup.exe を実行すると、上記のサーバー (https://dotnet9.com/WPFBlazorChat/) から自動的にバージョン番号やファイルの更新状況を確認し、プログラムファイルをダウンロードします:

下の図はサーバー上のソフトウェアインストールパッケージ情報です:

下の図はインストールプロセスのスクリーンショットです:

インストールパッケージのダウンロードが完了すると、プログラムが自動的に起動します。以下はテストプログラムの実行画面です。WPF Blazor で開発されています。クリックするとソースコードにアクセスできます:

3. Q&A

  1. ClickOnce 配置の仕組み

ClickOnce 配置のコアアーキテクチャは、アプリケーションマニフェストと配置マニフェストという2つの XML マニフェストファイルに基づいています。これらのファイルは、ClickOnce アプリケーションをどこからインストールするか、どのように更新するか、いつ更新するかを記述するために使用されます。

詳細については、Microsoft ドキュメントをご覧ください:https://learn.microsoft.com/ja-jp/visualstudio/deployment/clickonce-security-and-deployment?view=vs-2022

本記事は以上です。次回は、WPF で Blazor を使用してアプリケーションを開発する方法を紹介します。

さらに探索

関連読書

その他の記事
同じカテゴリ / 同じタグ 2026/04/22

各OSバージョンの.NETサポート状況(250707更新)

仮想マシンとテストマシンを使用して、各OSバージョンの.NETサポート状況を確認します。OSインストール後、対応するランタイムをインストールし、Stardustエージェントを実行できることを確認します(合格条件)。

続きを読む
同じカテゴリ / 同じタグ 2026/02/07

AOTの使用経験のまとめ

プロジェクト作成当初から、新機能を追加したり新しい構文を使用したりした場合には、すぐにAOT公開テストを実施するという良い習慣を身につけるべきです。

続きを読む