Windows11で発生する.NET Framework3.5インストールエラーを解決

Windows11のPC上で、とある少々古いソフトをインストールして実行したいので、.NET Framework3.5のインストールを試みたところ、コード0x80072F8Fのエラーが発生してインストールできませんでした。

Windows11で発生するエラー

PCを再起動して、インストールを再度行うよう書かれているので、再起動してから再度インストールを試みるものの、やはりエラーコード0x80072F8Fが発生してしまい、インストール不可。

解決法を求めMicrosoftのドキュメントサイトを彷徨い、書かれていた方法を試してみたら、思いのほか簡単に解決できたので、今後のためにもメモメモ。

Windows11インストールメディアで解決

Microsoftのドキュメントサイトでたどり着いたページがこちら。

自分の環境で発生したエラーコードは0x80072F8Fで、上記サイトに書かれている0x800F0906、0x800F081F、0x800F0907、0x800F0922のいずれとも違うのですが、エラーの状況は同じ。

適用対象にWindows11が入っていないので、厳密にはこの解決法の対象ではないのかもしれませんが、Windows10と根本的な違いはないだろう、という勝手な憶測で(笑)

結論から言うと、方法3の「Windowsインストールメディアを使用する」の方法で解決できました。

インストールメディアのダウンロード

まずはWindows11のインストールメディアを用意しましょう。

Windows10からアップグレードした場合や、PCにインストールメディアが付属していなかった場合は、下記からダウンロードできます。

「Windows 11 ディスクイメージ(ISO)をダウンロードする」のプルダウンから「Windows 11 (multi-edition ISO)を選択し、「ダウンロード」という青いボタンをクリック。

Windowsディスクイメージダウンロード

ボタンの下に「製品の言語を選択」という項目が表示されるので、「1つ選択」と表示されているプルダウンの中から「日本語」を選択し、その下の「確認」をクリック。

製品の言語を選択

すると、ダウンロードという項目が表示されるので、「64-bit ダウンロード」という青いボタンをクリックすれば、ダウンロードが開始されます。

64bitダウンロード

インストールメディアをマウント

ダウンロードしたディスクイメージファイル(Win11_Japanese_x64v1.iso)を右クリック→マウントして、ドライブとして使用できるようにします。

Windows11上でディスクイメージをマウント

環境によってドライブレターが代わりますが、自分の環境ではEドライブとしてマウントされました。

ディスクイメージがマウントされた

コマンドプロンプトから有効化

.NET Framework3.5の機能を有効化するためには、コマンドプロンプトもしくはWindowsターミナルからコマンドを入力する必要があります。

Windows11のスタートメニューを開き「すべてのアプリ」をクリックします。

すべてのアプリを表示

Windows Terminalを右クリック→詳細→管理者として実行、をクリックします。

Windowsターミナルを管理者権限で実行

Windowsターミナルが起動するので、以下のコマンドを入力します。

Dism /online /enable-feature /featurename:NetFx3 /All /Source:<マウントしたときのドライブレター>:\sources\sxs /LimitAccess

自分の環境では、マウントしたときのドライブレターはEでしたので、以下のようなコマンドになりました。

Dism /online /enable-feature /featurename:NetFx3 /All /Source:E:\sources\sxs /LimitAccess

コマンドを入力して実行し、2~3分ほど(環境により時間は変わります)待つと完了します。
※完了画面の画像を撮り忘れたので、下の画像は別の環境で作業したものになります。

.NET Framework3.5の有効化

以上で作業終了。無事に「少々古いソフト」が使えるようになりました!

お疲れ様でした!

初稿:2022年2月4日