こんにちは、Japan Developer Support Core チームの松井です。
.NET アプリケーションおよびそれを利用する環境のセキュリティを維持するためには、.NET ランタイムの更新プログラムを適切かつ迅速に適用することが重要です。本記事では、Windows Update により .NET (旧 .NET Core) の自動更新を行うための方法について、.NET Framework との違いを含めて解説します。
.NET Framework の自動更新
.NET Framework 4.x は Windows の OS コンポーネントとして扱われています。そのため、.NET Framework の更新プログラムは Windows の更新プログラムと同様に Windows Update サービスを通じて配信されています。Windows の自動更新が有効になっている場合、.NET Framework の更新プログラムも自動的に検出されてインストールされます。
.NET の自動更新
.NET は Windows の OS コンポーネントではなく独立した製品で、「その他の Microsoft 製品」として扱われています。そのため、.NET の更新プログラムは Windows Update サービスではなく、Microsoft Update サービスを通じて配信されています。Windows の自動更新が有効になっているだけでは .NET の更新プログラムは自動的にインストールされませんので注意してください。
Microsoft Update サービスを通じて .NET の更新プログラムを自動的にインストールするには、以下の手順で設定を行います。(グループ ポリシーや Intune などの管理ツールを使用している場合は、そちらで同様の設定を行ってください。)
- [設定] アプリを開きます。
- [Windows Update] セクションに移動します。
- [詳細オプション] をクリックします。
- [その他の Microsoft 製品の更新プログラムを受け取る」オプションを有効化します。
また、サーバー系 OS (Windows Server 2025 など) の場合、Microsoft Update サービスを通じて .NET の更新プログラムを検出するためには下記のレジストリの設定も必要です。
| .NET のバージョン | レジストリ キー | 値名 | 種類 | 値 |
|---|---|---|---|---|
| 全バージョン | HKLM\SOFTWARE\Microsoft\.NET |
AllowAUOnServerOS |
REG_DWORD |
1 |
| .NET 10 | HKLM\SOFTWARE\Microsoft\.NET\10.0 |
AllowAUOnServerOS |
REG_DWORD |
1 |
| .NET 9 | HKLM\SOFTWARE\Microsoft\.NET\9.0 |
AllowAUOnServerOS |
REG_DWORD |
1 |
| .NET 8 | HKLM\SOFTWARE\Microsoft\.NET\8.0 |
AllowAUOnServerOS |
REG_DWORD |
1 |
| .NET 7 | HKLM\SOFTWARE\Microsoft\.NET\7.0 |
AllowAUOnServerOS |
REG_DWORD |
1 |
| .NET 6 | HKLM\SOFTWARE\Microsoft\.NET\6.0 |
AllowAUOnServerOS |
REG_DWORD |
1 |
| .NET 5 | HKLM\SOFTWARE\Microsoft\.NET\5.0 |
AllowAUOnServerOS |
REG_DWORD |
1 |
| .NET Core 3.1 | HKLM\SOFTWARE\Microsoft\.NET\3.1 |
AllowAUOnServerOS |
REG_DWORD |
1 |
注意点
Windows Server Update Services (WSUS) や Microsoft Endpoint Configuration Manager (MECM) で更新プログラムの配信を管理している場合、Microsoft Update の有効化やレジストリ設定は必要ありません。WSUS や MECM の管理ツールで .NET の更新プログラムの配信を構成してください。
[その他の Microsoft 製品の更新プログラムを受け取る] オプションを有効化すると、.NET 以外の Microsoft 製品 (Visual Studio、SQL Server、Office など) の更新プログラムも自動的にインストールされる可能性があります。.NET のみを対象としたい場合は、WSUS や MECM などの管理ツールを使用して更新プログラムの配信を制御する必要があります。
よくある質問
Q: Windows の自動更新を有効にしているのに .NET の更新プログラムがインストールされないのはなぜですか?
A: Windows の自動更新は .NET Framework の更新プログラムのみを対象としており、.NET (旧 .NET Core) の更新プログラムは Microsoft Update サービスを通じて配信されます。Microsoft Update を有効にする必要があり、サーバー OS の場合はそれに加えてレジストリ設定行う必要があります。
Q: WSUS を使用している場合、.NET の更新プログラムはどのように管理すればよいですか?
A: WSUS を使用している場合、Microsoft Update の有効化やレジストリ設定は不要です。WSUS 管理コンソールで .NET の製品の更新プログラムを同期し、必要な更新プログラムのインストールを承認してください。
Q: Azure Update Manager を使用していますが、.NET の更新プログラムが検出されません。
A: Azure Update Manager は Windows Update エージェント API (WUA API) を使用して更新プログラムを検出しています (Azure Monitoring サポート ブログ参照)。WUA API が Microsoft Update を更新ソースとして参照するかどうかは Windows の設定に依存します。Microsoft Update を有効にし、サーバー OS の場合はそれに加えてサーバー OS のレジストリ設定を行ってください。
Q: .NET のメジャー バージョンアップ (例: .NET 9 から .NET 10) は自動更新で適用されますか?
A: いいえ、.NET の自動更新ではセキュリティ更新プログラムや重要な修正のみが適用され、メジャー バージョンアップは含まれません。メジャー バージョンアップを適用するには、手動でインストーラーをダウンロードして実行する必要があります。また、古いバージョンは自動的にはアンインストールされませんので、古いバージョンに依存するアプリケーションがないことを確認した上で、不要なバージョンを手動でアンインストールしてください。
Q: .NET の自動更新を有効にすると、.NET を利用していない場合でもインストールされますか?
A: いいえ、.NET の自動更新を有効にしても、.NET が自動的にインストールされることはありません。 自動更新はインストール済みの .NET バージョンに対するセキュリティ更新プログラムや重要な修正のみを対象としています。
Q: .NET の自動更新を有効にすると、自己完結型アプリケーション (.NET ランタイムを内包するアプリケーション) にも更新プログラムが適用されますか?
A: いいえ、自己完結型アプリケーションはそのアプリケーションに必要な .NET ランタイムを含んでいるため、.NET の自動更新の対象にはなりません。自己完結型アプリケーションの更新は、アプリケーション自体の再配布によって行う必要があります。
参考情報
.NET の自動更新に関する詳細な情報や過去の経緯については、以下の公式ドキュメントやブログ記事をご参照ください。
- Windows へのインストール - Microsoft Update
- .NET Core 2.1, 3.1, and .NET 5.0 updates are coming to Microsoft Update
- .NET Automatic Updates for Server Operating Systems
- Azure Update Manager – Patching .NET Core
本ブログの内容は弊社の公式見解として保証されるものではなく、開発・運用時の参考情報としてご活用いただくことを目的としています。もし公式な見解が必要な場合は、弊社ドキュメント (https://learn.microsoft.com や https://support.microsoft.com) をご参照いただくか、もしくは私共サポートまでお問い合わせください。