.NET Framework3.5をインストールしようとするとエラー:0x800f0954が出てしまう

Windows 10や11で特定のアプリをインストールしようとした際、.NET Framework 3.5のインストールを求められることはよくあります。
しかし、利用環境によっては正常にインストールできないことがあり、「エラーコード:0x800f0954」に遭遇することが多かったので対処方法について解説します。会社のネットワークなど、WSUS(Windows Server Update Services)で更新プログラムを管理している環境でよく遭遇するトラブルです。
エラー(0x800f0954)の原因はWSUS

Windows 11では、.NET Framework 4.8が標準搭載であり、3.5は必要に応じてインストールする必要があります。通常、Windowsは足りない部品(3.5の本体)をMicrosoftのサーバーへ取りに行こうとしますが、WSUS環境では以下の食い違いが発生します。
- PCが「.NET 3.5の本体ファイルをちょうだい」とWSUSにリクエスト。
- WSUSは「修正パッチは持っているが、インストール本体(機能)は持っていない」と回答。
- 行き場を失ったPCが「ファイルが見つからない!」とエラー:0x800f0954 を吐き出す。
結果、WSUS環境にあるパソコンは.NET Framework 3.5をスムーズにインストールできない状況に陥ります。そこで、一時的にレジストリを変更し、Windows Updateを直接Microsoftのサーバーから取得できるように変更します。
【解決策】レジストリで一時的にWSUSをバイパスする
PCに「今回だけはWSUSではなく、Microsoft Update(本家)に直接見に行って!」と指示を出すことで解決できます。
ステップ1:レジストリの変更
1. Win + R キーで regedit と入力し、レジストリエディターを起動します。
2. 以下のパスまで移動します。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
3. UseWUServer をダブルクリックし、値を 1 から 0 に変更します。
ステップ2:サービスの再起動

設定を反映させるため、Windows Updateサービスを再起動します。
- 「サービス」管理ツール(services.msc)を開く。
- Windows Updateサービスを右クリックし、「再起動」を選択。
ステップ3:インストールと設定の復元

この状態で「Windowsの機能の有効化または無効化」から .NET Framework 3.5 をインストールします。今度はエラーが出ずに進行するはずです。
ステップ4:レジストリを元に戻す
インストール完了後、必ず UseWUServer の値を 1 に戻し、再度サービスを再起動してください。
そもそも .NET Framework 3.5 とは?
.NET Frameworkは、Windowsアプリを動かすための「共通部品セット(ライブラリ)」です。
- Windows 11の標準は「4.8」:最新のWindows 11には .NET Framework 4.8 が標準搭載されています。しかし、4.8は最新の道具箱であり、古いアプリが必要とする「3.5」の代わりにはなれません。
- 互換性の壁: 4.8と3.5は実行エンジンが根本的に異なります。3.5用に設計されたアプリは、3.5という「専用の道具箱」が別途インストールされていないと起動すらできません。
- オンデマンド機能:MicrosoftはOSの軽量化のため、古い3.5を「通常は無効」にしています。必要な時だけ後から追加する仕組みですが、これがWSUS環境で牙をむきます。
まとめ
Windows 11という最新環境であっても、古い設計図で作られたアプリには .NET Framework 3.5 が不可欠です。WSUS環境でエラーになった際は、「一時的なバイパス」で賢く対処しましょう。もし頻繁にこの作業が発生する場合は、グループポリシー(GPO)で「オプション機能の取得先をMicrosoft Updateに直接見に行かせる」設定を管理者に依頼することをおすすめします。

