-
Notifications
You must be signed in to change notification settings - Fork 0
MS_SoftwareDeploymentTechnology
以下の配付技術を利用できるが、
技術特性を理解したうえで導入する必要がある。
- Microsoft Windows Installer(
MS_WindowsInstaller.md) - クイック実行形式(C2R)(
MS_ClickToRun.md)
- .NET 向けのパッケージ管理システム。
- アプリケーションではなく、ライブラリ、パッケージを配布するもの。
補足:
dotnet tool install -gにより、 NuGet は CLI ツールの配布にも使われるようになった。 ただし「エンド ユーザ向けアプリの配布」用途でないのは変わらない。
Windows 10のパッケージ・マネージャ(MS_WindowsPackageManager.md)
補足(最新化): 現在の Windows 標準は winget(Windows Package Manager、Windows 11 に標準搭載)である。 OneGet(PackageManagement)は残っているが、 利用者向けの入口は winget に移った。 企業配布では、winget とストア(Microsoft Store for Business は終了)より、 後述の Intune が主流である。
- Node.js 製
- JavaScript 用パッケージ・マネージャ
補足: bower は 2017 年に非推奨となり、 現在は npm / yarn / pnpm に統合されている。
クライアントにプログラムをインストールを支援する。
プル型だけでなく、プッシュ型をサポートするものもある。
ドメイン サービス (AD DS) の グループ・ポリシー による配布。
「公開」と「割り当て」の 2 種類が選択できる配布機能を持っている。
ソフトウェアのインストールの際にユーザーに要求される作業が異なる
(共にプッシュ型ではなくプル型、且つ再起動が必要なので注意)。
| 種別 | 対象 | 挙動 |
|---|---|---|
| 公開 | ユーザ | デスクトップやスタート メニューに表示されない。「アプリケーションの追加と削除」にリストが追加されるのみ。ログオン後に手動でインストールする |
| 割り当て | ユーザ or コンピュータ | ログオン時にショートカットが自動作成される。起動するだけで自動的にインストールが開始される |
選択の指針
- ユーザーに利用したいソフトウェアを自分で選択させたい場合は公開を利用する。
- ユーザーに強制的にソフトウェアを利用させたい場合は割り当てを利用する。
- 適用対象としてコンピュータを選択した場合、割り当てのみが利用可能。
補足: GPO によるソフトウェア インストールは MSI 形式に限られる(EXE 形式は配れない)点が最大の制約である。 また、大きなパッケージを一斉配布すると ログオンが極端に遅くなるため、実務では敬遠されてきた。
Microsoft は GPO ソフトウェア インストールの機能拡張を止めており、 新規に選ぶ理由は乏しい。
SCCM にソフトウェアの配布機能がある(プッシュ可能)。
補足(最新化): SCCM は Microsoft Configuration Manager(旧 SCCM / MECM)に改称された。 現在の選択肢は次のとおり。
手段 向く場面 Microsoft Intune クラウド管理。Entra 参加デバイス、リモート ワーク前提 Configuration Manager オンプレ中心、細かい制御・大規模配信(コデプロイで Intune と併用可) GPO ソフトウェア インストール 小規模・MSI のみ。新規採用は非推奨 winget / Chocolatey 開発者端末、スクリプトによる構成 Intune では Win32 アプリ(.intunewin) 形式で EXE 形式のインストーラも配布でき、 検出規則・依存関係・置換(Supersedence)まで扱える。
補足: .NET アプリ固有の選択肢として、次がある。
- ClickOnce(
MS_ClickOnce.md)
自動更新を伴うプル型配布。.NET 6 以降でも Windows 向けに復活している。 ただし 管理特権が必要になる処理 のとおり、 UAC による管理者昇格はできない。- MSIX
Windows の現行のパッケージ形式。 クリーンなインストール/アンインストールと自動更新を備え、 Intune / ストアの両方から配布できる。- 自己完結型の発行(
dotnet publish --self-contained)
ランタイムを同梱するため、実行環境に .NET を入れなくてよい。 単一ファイル発行と組み合わせると、配布は「コピーするだけ」になる。
- .NET開発
- グループ・ポリシー
- ドメイン サービス (AD DS)
- 管理特権が必要になる処理
- グループ ポリシー ソフトウェア インストールの概要 - Microsoft Learn
- Microsoft Intune のアプリ管理 - Microsoft Learn
Tags: .NET開発, インフラストラクチャ, Active Directory, デプロイ
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。