知識マップ: ClickOnce とは何か - 仕組み、更新、向いている場面・向いていない場面を実務目線で整理

記事「ClickOnce とは何か - 仕組み、更新、向いている場面・向いていない場面を実務目線で整理」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

ClickOnceは、配置マニフェストとアプリケーションマニフェストを中心に、配布・更新・キャッシュ管理をまとめて扱う.NET Windowsデスクトップアプリの配布モデルです。per-user配布で標準ユーザーへ管理者権限なしに配れ、file patchingで変更分だけを取得し、アプリごと・利用者ごと・バージョンごとに分離されたClickOnceキャッシュによってDLL Hellを避けやすくします。一方で、machine-wide installやWindows service・driverのようなOS統合、package identityが必要な要件には向かず、MSIやMSIXから検討すべきです。マニフェストへの署名にはコード署名証明書を使い、配置先を動かす際はdeploymentProviderの見直しと再署名が欠かせません。

ClickOnceの知識マップClickOnceが配置マニフェストとアプリケーションマニフェストを中心にper-user配布とfile patchingによる自動更新を実現する一方、machine-wide installやpackage identityやWindows serviceが必要な要件ではMSIやMSIXへ寄るべきという関係を示す図利用する利用するで構成できるで構成できる利用する軽減するより先に行うべき利用する前提とする両立しない推奨される対応推奨される対応前提とする推奨される対応用いるのは非推奨用いるのは非推奨実装を担う前提とする実装を担う両立しない前提とする利用する前提とする自動化する用いるのは非推奨ClickOnceper-user配布(利用者単位)配置マニフェスト(.application)アプリケーションマニフェスト(*.exe.manifest)コード署名証明書ClickOnceキャッシュDLL Hellsetup.exe(bootstrapper)file patchingdeploymentProvidermachine-wide install(端末単位)MSI(Windows Installer)管理者権限MSIXpackage identityWindowsサービスPublish tool.NET(Core以降)dotnet-mage.exeApplicationDeployment API.NET Framework発行プロファイル(.pubxml)オフライン利用ありの構成アプリケーション設定の持ち越しアドホックな自己署名証明書

概念間の関係(全25件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

ClickOnce
.NETのWindowsデスクトップアプリを、利用者単位で簡単に配り、自動更新まで含めて回すための配布技術。マニフェストを中心に配布・更新・キャッシュ管理をまとめて扱う配布モデル。
per-user配布(利用者単位)
利用者ごとに導入する配布方式。そのユーザーのプロファイル配下へ入り、同じ端末の他のユーザーからは見えず、管理者権限なしで導入できることが多い。
配置マニフェスト(.application)
いま配るべきバージョン、更新場所、更新方法などを表すClickOnceのマニフェスト。
アプリケーションマニフェスト(*.exe.manifest)
その版のアプリ本体、依存ファイル、ハッシュ、エントリポイントなどを表すClickOnceのマニフェスト。
ClickOnceキャッシュ
取得したアプリのファイルを保持する、利用者ごと・アプリごと・バージョンごとに分離されたClickOnceの管理領域。現行版と前版が分離して保持される。
setup.exe(bootstrapper)
アプリ本体の前に、必要なランタイムや再頒布可能パッケージといった前提条件を確認・導入する、ClickOnceの小さな導入プログラム。
MSI(Windows Installer)
Windowsの標準インストーラーパッケージ形式。ALLUSERSプロパティなどでインストール先の範囲を選べ、machine-wide installが一般的だがユーザー単位のインストールもできる。
machine-wide install(端末単位)
端末に1つだけ導入し、全ユーザーが同じ実体を使う配布方式。Program Filesのような共有領域へ入るため、導入には通常管理者権限が必要になる。
MSIX
package identityを持つ、Windowsのモダンなアプリパッケージング形式。
Publish tool
.NET Core 3.1および.NET 5以降のWindowsデスクトップアプリのClickOnce発行に使う、Visual Studioの発行機能。
dotnet-mage.exe
手動でClickOnceのマニフェストを扱う際に使うコマンドラインツール。
ApplicationDeployment API
.NET Framework時代のClickOnceで、更新確認や配置情報の取得に使われてきたAPI。.NET Core 3.1 / .NET 5 / .NET 6ではそのまま使えない。
オフライン利用ありの構成
ClickOnceアプリを利用者の端末へ導入し、スタートメニューからも起動できるようにする見せ方。オンライン専用の対極に位置する。
アドホックな自己署名証明書
検証用にツールで自前発行したサーバー/クライアント証明書。鍵管理の仕組みを持たず、検証環境限定・期限つきでの利用が原則。適切に運用される社内CAのルート証明書(これも技術的には自己署名)とは区別する。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。