【0x800f0954エラーとは?】.NET Frameworkの有効化に失敗する理由と解決法を徹底解説

Windows 10や11でアプリをインストールしようとしたとき、

「.NET Framework 3.5(.NET 2.0および3.0を含む)」

の有効化に失敗することがあります。

その際に表示されるのが、エラーコード「0x800f0954」です。

「必要な機能をインストールできませんでした」
「Windowsは要求された変更を完了できませんでした」

といったメッセージとともに表示され、多くの方が戸惑います。この記事では、その原因と対処法をわかりやすく解説します。

エラーコード「0x800f0954」とは?

「0x800f0954」は、.NET Frameworkの有効化に失敗した際に発生するエラーコードです。これは、主に以下のケースで表示されます。
• 「Windowsの機能の有効化または無効化」から.NET Framework 3.5を有効化しようとした
• 古いアプリの起動時に.NET Frameworkの自動インストールが開始されたが途中で止まった

このエラーは、単純な接続エラーではなく、Windowsの更新先の設定やローカルポリシーが関係していることが多いです。

主な原因

WSUS(Windows Server Update Services)経由になっている

企業や学校などのPCでは、Windows Updateがインターネットではなく、社内サーバー(WSUS)を経由していることがあります。

.NET Frameworkの有効化にはMicrosoftの外部サーバーにアクセスする必要があるため、これがブロックされていると失敗します。

グループポリシーやレジストリ設定

「指定されたソースが見つかりませんでした」といった内容のエラーが出る場合、レジストリやポリシーで機能インストールのソースが制限されている可能性があります。

ネットワークの問題・プロキシ制限

インターネットに直接つながっていない状態や、ファイアウォール・プロキシの制限でダウンロードができない場合にもエラーが発生します。

対処法1:DISMコマンドを使ってオフラインで.NET Frameworkを有効化する

インストールメディア(ISOファイル)を使って、コマンドで.NET Frameworkを追加する方法です。

【手順】
1. Microsoft公式からWindowsのISOをダウンロード
2. ISOファイルを右クリックして「マウント」
3. ドライブレターを確認(例:D:)
4. 「管理者としてコマンドプロンプト」を開き、以下のコマンドを実行
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs

※D:はISOのマウントドライブに置き換えてください。
5. インストールが正常に完了すれば、エラーは解消されます。

対処法2:グループポリシーを一時的に変更する(WSUS環境向け)

企業ネットワークやWSUSが原因の場合は、以下の手順で一時的にWindows Updateの設定を変更します。

【手順】
1. 「gpedit.msc」を開く(スタートから検索)
2. 左ペインで以下を開きます
コンピューターの構成 > 管理用テンプレート > システム
3. 「オプションのコンポーネントインストールとコンポーネント修復」をダブルクリック
4. 「有効」にチェックを入れ、「Windows Updateを使って修復コンテンツをダウンロードする」にもチェックを入れる
5. 再起動後、再度.NET Frameworkの有効化を試します

対処法3:レジストリ編集でWindows Updateを強制的に使用する(高度な手順)

注意

この方法はシステムの根幹に関わるため、自己責任で実施してください。必ず事前にバックアップを取りましょう。

【手順】
1. 「regedit」を開く
2. 以下のキーを開きます
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
3. UseWUServer の値を「0」に変更
4. PCを再起動
5. .NET Frameworkの有効化を再試行

完了後、元の設定に戻すことでセキュリティポリシーの整合性を保てます。

対処法4:Windowsの機能画面から再試行する

コマンドを使わず、GUI(グラフィカルユーザーインターフェース)での操作も可能です。

【手順】
1. スタートメニューで「Windowsの機能」と検索し、「Windowsの機能の有効化または無効化」を開く
2. 「.NET Framework 3.5(.NET 2.0および3.0を含む)」にチェックを入れて「OK」
3. インターネット接続がある状態でそのままインストール

ただし、先述のようにポリシー制限やWSUS経由だとここで失敗する場合もあります。

【解決策が見つからない?】さらに確認すべきポイントと上級者向け対処法

上記で紹介した対処法を試しても「0x800f0954」エラーが解消しない場合、さらに以下の点を確認してみましょう。また、より専門的な知識が必要となる対処法もご紹介します。

エラー発生時の状況を詳しく把握する

エラーが発生した際に、どのような操作をしていたか、具体的なエラーメッセージは他に表示されていないかなど、詳細な状況を把握することで、原因の特定につながることがあります。もしエラーメッセージ全体を記録しているのであれば、インターネットで検索してみるのも有効です。

DISMコマンド実行時のさらなるヒント

DISMコマンドを実行する際、ISOファイルをマウントしたドライブレターだけでなく、エクスプローラーでISOファイルを開き、「sources\sxs」フォルダのパスを直接指定することも可能です。例えば、マウントされたドライブが「E:」であれば、コマンドは

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:E:\sources\sxs

となります。
また、稀にダウンロードしたISOファイル自体が破損している場合があります。もしオフラインインストールがうまくいかない場合は、再度Microsoftの公式サイトからISOファイルをダウンロードしてみることを推奨します。

グループポリシー変更時の注意点と再起動の重要性

グループポリシーの変更は、組織のネットワーク管理者によって管理されている場合、意図しない設定変更は他のシステムに影響を与える可能性があります。企業や学校などの環境でこの対処法を試す際は、事前にシステム管理者にご相談いただくことを強く推奨します。
また、グループポリシーの設定を変更した後、すぐに.NET Frameworkの有効化が成功しない場合は、念のためPCを再起動してから再度有効化を試してみてください。変更内容がシステムに反映されるまでに時間がかかることがあります。

【重要】レジストリ編集前のバックアップを徹底する

レジストリの編集は、システムに深刻な問題を引き起こす可能性がある、高度な操作です。手順を間違えると最悪の場合、PCが起動しなくなることもあります。必ず編集前にレジストリのバックアップを行ってください。「regedit」を開き、「ファイル」メニューから「エクスポート」を選択し、安全な場所に保存しておきましょう。

ネットワークとプロキシ設定の確認

インターネット接続が不安定な場合や、プロキシサーバーを経由している場合は、.NET Frameworkのダウンロードや有効化が失敗することがあります。

ネットワークの確認・・ルーターやモデムを再起動したり、LANケーブルの接続を確認したりするなど、基本的なネットワークトラブルシューティングを試してみてください。

プロキシ設定の確認・・インターネットオプション(「inetcpl.cpl」を実行)を開き、「接続」タブの「LANの設定」でプロキシサーバーの設定が正しく構成されているか確認してください。不明な場合は、ネットワーク管理者にお問い合わせください。
Windows Updateの状態を確認する
他の対処法を試す前に、Windows Update自体が正常に動作しているか確認することも重要です。「設定」アプリを開き、「更新とセキュリティ」から「Windows Update」の状態を確認し、もしエラーが発生している場合は、そちらのトラブルシューティングを先に行う必要があるかもしれません。

【上級者向け】システムファイルチェッカー(SFC)の実行

上記の方法でも解決しない場合、Windowsのシステムファイルが破損している可能性があります。システムファイルチェッカー(SFC)ツールを実行して、破損したシステムファイルを修復してみましょう。

管理者としてコマンドプロンプトを開きます(スタートメニューを右クリックし、「ターミナル(管理者)」または「コマンドプロンプト(管理者)」を選択)。

以下のコマンドを入力してEnterキーを押します。

sfc /scannow

スキャンが完了するまでしばらく待ちます。修復が必要なファイルが見つかった場合は、自動的に修復されます。

スキャン完了後、PCを再起動し、再度.NET Frameworkの有効化を試してください。

Windows 11をご利用の方へ

Windows 11でも、基本的な原因と対処法はWindows 10と同様です。しかし、GUIの操作画面や設定メニューの項目名などが若干異なる場合があります。上記の手順を参考に、お使いのWindows 11の環境に合わせて操作してください。もしWindows 11特有のより簡単な解決策や注意点があれば、Microsoftのサポートページなどを参照してみるのも良いでしょう。

まとめ

「0x800f0954」エラーは、.NET Frameworkの有効化に関する非常に多いトラブルの一つです。特に企業や学校のパソコン、または自作PCユーザーでISOから導入したケースで多く見られます。

以下の対応を順に試すことで、多くのケースで解決できます。
• DISMコマンドでのオフラインインストール
• グループポリシーの設定変更
• レジストリ編集によるWSUSの無効化
• Windowsの機能画面からの再試行

.NET Frameworkが有効になれば、古いアプリも正しく動作し、環境整備が完了します。焦らず、ひとつずつ丁寧に対処していきましょう。