Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

【徹底解説】Windows エラーコード 0x800f0954 の原因と5つの対処法

Windows 10 で .NET Framework 3.5 やその他のオプション機能をインストールしようとした際に、「エラーコード 0x800f0954」が表示されるケースが多く報告されています。多くのユーザーは「Windows の機能」からインストールする際にこのエラーに遭遇していますが、DISM コマンドラインツールを使用した場合にも発生することがあります。また、このエラーは特定のバージョンに限ったものではなく、Windows 7・8.1・10 のいずれでも発生が確認されています。

エラーコード 0x800f0954 の主な原因

テスト環境での再現検証と多数のユーザーレポートをもとに調査した結果、このエラーコードを引き起こしている可能性のある要因は以下の通りです。

  • コンピューターが Windows Update サーバーにアクセスできない – システムが WU(Windows Update)サーバーに到達できないために発生するケースです。WSUS サーバーから更新プログラムを取得するよう設定されたドメイン参加型のネットワーク環境でよく見られます。この場合は WSUS を一時的にバイパスすることで解決できます。
  • DISM の CBS ログが問題を引き起こしている – DISM ユーティリティが生成する CBS ログが、実在しない問題を指し示すことがあります。Component Based Servicing のログを削除し、失敗していた DISM コマンドを再実行することで解決します。
  • .NET Framework を PowerShell 経由でインストールする必要がある – 古いバージョンの .NET Framework を導入する場合は、0x800f0954 エラーを回避するために PowerShell から実行する必要があります。
  • グループポリシーがインストールを妨げている – ローカルグループポリシーエディターで特定のポリシーが無効になっていると、このエラーが発生する可能性があります。「オプション コンポーネントのインストールおよびコンポーネントの修復のための設定を指定する」ポリシーを有効にしましょう。

本記事では、0x800f0954 エラーの解決に役立つ複数のトラブルシューティング手順を紹介します。いずれも、同じ問題に直面したユーザーたちが実際に成功した方法ばかりです。

各方法は効果と重要度の高い順に並べていますので、できるだけ記載の順番に従って試してください。ただし、すべてがご自身の環境に当てはまるとは限らないため、適用できない方法はスキップしても構いません。

方法 1:WSUS サーバーを一時的にバイパスする

オプション機能のインストール時に 0x800f0954 エラーが出る場合、システムが Windows Update サーバーにアクセスできないことが原因である可能性が高いです。これは、ドメイン参加型の多数の PC が WSUS サーバー経由で更新プログラムを取得するよう設定された環境で特によく見られます。

かつてドメインネットワークに所属しており、その際のグループポリシー設定が残っている場合にも同様の問題が起こります。この場合は、WSUS を一時的にバイパスすることで解決できます。以下の手順でレジストリを編集してください。

  1. Windows キー + R を押して「ファイル名を指定して実行」を開きます。「regedit」と入力し、Ctrl + Shift + Enter を押して管理者権限でレジストリエディターを起動します。UAC(ユーザーアカウント制御)の確認画面では「はい」をクリックします。
  2. 左ペインで次の場所へ移動します。
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
    ヒント: 上部のアドレスバーにパスを直接貼り付けて Enter を押せば、すぐに移動できます。
  3. WindowsUpdate キーが存在しない場合は手動で作成します。「Windows」キーを右クリックし、「新規 > キー」を選択して「WindowsUpdate」という名前を付けます。さらにそのキーを右クリックし、「新規 > キー」で「AU」を作成します。
  4. AU キーを選択した状態で、右側ペインの空きスペースを右クリックし、「新規 > 文字列値」を選択します。名前を「UserWUServer」に変更します。
  5. UserWUServer をダブルクリックし、「値のデータ」を 0 に設定します。
  6. レジストリエディターを閉じ、PC を再起動します。次回の起動後に問題が解決したかを確認してください。

この方法で解決しなかった場合や環境に当てはまらない場合は、次の方法に進みましょう。

方法 2:CBS ログを削除する

同じ問題を経験したユーザーの中には、DISM に関連する CBS(Component Based Servicing)ログを削除したところ問題が解決したという報告があります。ログを削除したうえで DISM コマンドを再実行すると、0x800f0954 エラーが発生しなくなったそうです。

手順は以下の通りです。

  1. エクスプローラーを開き、次の場所へ移動します。
    C:\Windows\Logs\CBS
  2. CBS フォルダー内のすべてのファイルを選択し、「削除」を実行します。
  3. すべての .log ファイルと .cab ファイルを削除したら、フォルダーを閉じます。
  4. Windows キー + R を押して「ファイル名を指定して実行」を開き、「cmd」と入力して Ctrl + Shift + Enter を押します。管理者権限のコマンドプロンプトが起動します。UAC の画面では「はい」をクリックします。
  5. コマンドプロンプトで次のコマンドを入力し、Enter を押して DISM コマンドを再実行します。
    Dism.exe /online /enable-feature /featurename:NetFX3 /source:C:\
  6. Enter を押すと、.NET Framework が 0x800f0954 エラーなしでインストールされるはずです。

方法 3:PowerShell で .NET Framework 3.5 をインストールする

DISM(展開イメージのサービスと管理)を使って .NET Framework 3.5 をインストールする際に 0x800f0954 エラーが発生する場合は、PowerShell を使うことでエラーを回避できる可能性があります。

実際に PowerShell コマンドの実行によって問題を解決できたという報告が複数あります。手順は以下の通りです。

  1. Windows キー + R を押して「ファイル名を指定して実行」を開き、「powershell」と入力して Ctrl + Shift + Enter を押します。管理者権限の PowerShell が起動します。UAC の画面では「はい」をクリックします。
  2. PowerShell で次のコマンドを入力し、Enter を押して実行します。
    Add-WindowsCapability –Online -Name NetFx3~~~~ –Source D:\sources\sxs
  3. PowerShell を閉じて PC を再起動します。
  4. 再起動後、もう一度 .NET Framework 3.5 のインストールを試みて、問題が解決したかを確認してください。

方法 4:ローカルグループポリシーエディターを使う

RSAT ツールセットの追加時に 0x800f0954 エラーが発生する場合は、グループポリシーエディターで設定を変更する必要があります。Gpedit ツールを使ってコンポーネントのインストールおよびコンポーネントの修復に関する設定を変更したことで問題を解決できたという報告が複数あります。

特定のローカルポリシーを有効にし、OS が修復コンテンツやオプション機能を Windows Update から直接ダウンロードできるようにしたところ、問題が解消されたという声もあります。

注意: グループポリシーエディターはすべての Windows エディションで利用できるとは限りません。Windows 10 Home など含まれていないエディションの場合は、事前にポリシーエディターをインストールしておく必要があります。

お使いの Windows にグループポリシーエディターが搭載されている場合は、以下の手順に従ってください。

  1. Windows キー + R を押して「ファイル名を指定して実行」を開き、「gpedit.msc」と入力して Enter を押します。ローカルグループポリシーエディターが起動します。UAC の画面では「はい」をクリックします。
  2. 左ペインで次の場所へ移動します。
    コンピューターの構成 > 管理用テンプレート > システム
  3. システム」を選択した状態で、右側ペインの「オプション コンポーネントのインストールおよびコンポーネントの修復のための設定を指定する」をダブルクリックします。
  4. ポリシーを「有効」に設定し、「Windows Server Update Services (WSUS) の代わりに、修復コンテンツおよびオプション機能を Windows Update から直接ダウンロードする」にチェックを入れます。
  5. 「適用」をクリックして設定を保存し、エディターを閉じて PC を再起動します。
  6. 再起動後はエラーが発生しなくなっているはずです。

方法 5:レジストリ値「UseWUServer」を変更する

上記のいずれの方法でも解決しない場合は、UseWUServer レジストリ値を無効化してみましょう。最近の Windows 更新プログラムの適用後、この値が Windows Update サービスと競合し、本エラーが発生するケースが確認されています。作業前に管理者アカウントでサインインしていることを確認し、念のためレジストリのバックアップを取っておくことをおすすめします。

  1. Windows キー + R を押し、「regedit」と入力して Enter を押します。
  2. レジストリエディターで、次のパスへ移動します。
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\UseWUServer
  3. 値のデータを「1 → 0」に変更します。
  4. 変更後、PC を再起動して Windows Update サービスを再度開始します。問題が解決したかどうかを確認してください。

以上が、エラーコード 0x800f0954 の主な対処法です。どれかひとつの方法で解決しなくても、順番に試していけばほとんどのケースで問題を解消できます。作業の際は必ずレジストリのバックアップを取り、慎重に進めてください。

  1. 【Windows 10】エラーコード0x8078012Dのバックアップエラーを解決する6つの方法

    Windowsパソコンでバックアップを作成しようとした際に、エラーコード0x8078012Dが表示されて失敗するケースは少なくありません。このエラーは、Windows 10でシステムイメージのバックアップやWindows Updateのバックアップを作成するときに発生することが多く、バックアップサービスの設定不備やシステムファイルの破損など、さまざまな要因によって引き起こされます。破損したファイルの修復や問題のあるソフトウェアへの対処を行うことで解決できます。本記事では、このエラーの主な原因と具体的な対処法を詳しく解説します。 Windows 10でバックアップエラーコード0x8078012

  2. Windows 10のエラーコード0xc7700112を解決する7つの方法

    Windows PCの不具合やエラーを解消する基本的な方法として、OSを最新の状態に更新することが推奨されています。しかし、更新プロセスに何らかの不具合が生じると、さまざまなエラーメッセージが表示されることがあります。その代表的なものの一つがエラーコード0xc7700112です。このエラーは、Windowsのアップグレード処理中に何らかの中断や不具合が発生した際に表示されます。 本記事では、「エラーコード0xc7700112をどうやって修正すればよいのか」という疑問に対して、具体的な解決策をわかりやすく解説します。 Windows 10でエラーコード0xc7700112を修正する方法 このエ