知識マップ: Windowsアプリ配布方式の選び方 - MSI/MSIX/ClickOnce/xcopy/独自更新
記事「Windowsアプリ配布方式の選び方 - MSI/MSIX/ClickOnce/xcopy/独自更新」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
Windowsアプリの配布方式は、インストーラー形式の好みではなく、OS統合の濃さと更新責任をどちらが持つかという2つの軸で選ばれます。MSIはWindowsサービスやCOM登録、ドライバーやシェル拡張のようにOSへ深く触る導入に向く一方でpackage identityは持たず、MSIXはpackage identityを実装しclean installと更新のきれいさを提供しますが、ドライバーやシェル拡張には基本的に向きません。ClickOnceは.NETアプリをper-userで簡単に配布・自動更新できますがWindowsサービスを含む製品には向かず、xcopy配布は置くだけで動く単純さが強みの代わりにpackage identityやサービスとの相性を持ちません。独自updaterは署名検証やコード署名証明書の管理までを自前で担う代わりに、更新の自由度と閉域配布への対応力を得る選択です。
flowchart LR
accTitle: Windowsアプリ配布方式の知識マップ
accDescr: MSI・MSIX・ClickOnce・xcopy・独自updaterがOS統合の濃さと更新責任の持ち方という2つの軸でどう使い分けられるかを示す図。
msi["MSI(Windows Installer)"]
msix["MSIX"]
clickonce["ClickOnce"]
windows_service["Windowsサービス"]
driver_package["ドライバーパッケージ"]
shell_extension["シェル拡張(エクスプローラー拡張)"]
com["COM(コンポーネントオブジェクトモデル)"]
closed_network["閉域ネットワーク"]
package_identity["package identity"]
code_signing_cert["コード署名証明書"]
dotnet[".NET(Core以降)"]
xcopy_deployment["xcopy配布"]
custom_updater["独自updater"]
msi -->|"推奨される対応"| windows_service
msi -->|"推奨される対応"| driver_package
msi -->|"推奨される対応"| shell_extension
msi -.->|"利用する"| com
msi -->|"推奨される対応"| closed_network
msix -->|"実装を担う"| package_identity
msix -->|"用いるのは非推奨"| driver_package
msix -.->|"用いるのは非推奨"| shell_extension
msix -.->|"推奨される対応"| closed_network
msix -->|"前提とする"| code_signing_cert
clickonce -.->|"前提とする"| dotnet
clickonce -.->|"推奨される対応"| closed_network
clickonce -->|"用いるのは非推奨"| windows_service
xcopy_deployment -->|"用いるのは非推奨"| windows_service
xcopy_deployment -->|"推奨される対応"| closed_network
custom_updater -.->|"前提とする"| code_signing_cert
custom_updater -.->|"推奨される対応"| closed_network
概念間の関係(全17件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- MSI(Windows Installer)はWindowsサービスに対する本記事の推奨です。
- MSI(Windows Installer)はドライバーパッケージに対する本記事の推奨です。
- MSI(Windows Installer)はシェル拡張(エクスプローラー拡張)に対する本記事の推奨です。
- MSI(Windows Installer)はCOM(コンポーネントオブジェクトモデル)を利用します。
- MSI(Windows Installer)は閉域ネットワークに対する本記事の推奨です。
- MSIXはpackage identityの実装を担います。
- MSIXをドライバーパッケージに用いることは推奨されません。
- MSIXをシェル拡張(エクスプローラー拡張)に用いることは推奨されません。
- MSIXは閉域ネットワークに対する本記事の推奨です。
- MSIXはコード署名証明書を前提とします。
- ClickOnceは.NET(Core以降)を前提とします。
- ClickOnceは閉域ネットワークに対する本記事の推奨です。
- ClickOnceをWindowsサービスに用いることは推奨されません。
- xcopy配布をWindowsサービスに用いることは推奨されません。
- xcopy配布は閉域ネットワークに対する本記事の推奨です。
- 独自updaterはコード署名証明書を前提とします。
- 独自updaterは閉域ネットワークに対する本記事の推奨です。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。