Windows10に.NET Framework 3.5をオフラインでサクッとインストール(有効化)する方法

普通にインストールできない.NET Framework 3.5

まだまだ.NET Framework 3.5を必要とするアプリケーションがあるようで、Windows 10用の.NET Framework 3.5のインストーラーは存在しておらず、Windows7/8.1用のインストーラーを使ってインストールしょうとしてもエラーになりインストールができないことがあります。

このような現象に遭遇して「何とかしてインストールしてやろう」「何回かやればいけんるだろう」とチャレンジするものの「なんで?なんで?入らない?」ともがいて悩んでいる方が多いのではないでしょうか?

Windows7/8.1と違い、Windows10では「Windowsの機能の有効化または無効化から.NET Framework 3.5を有効にすることで、インストールができるのですが普通に画面に従ってもエラーで失敗します。そのため、解決方法の例として「予めグループポリシーの設定を行う」という面倒くさい方法がありますが、その方法を取り入れてインストールに成功するもののオンラインではコンポーネントのダウンロードに時間がかかったりして、なかなかインストールが終わらないことがありました。

その面倒くさい具体的な方法は以下のページに書いています。

そこで、時間をかけずにDISMコマンドからサクッとオフライン状態でインストールする方法を見つけたのでメモ。

やることは2つだけ!

.NET Framework 3.5 をオフラインでサクッとインストール(有効化)するために行うことは以下の2つだけです。

この二つだけで、手こずりまくった.NET Framework 3.5の有効化が拍子抜けするくらいサクッと終わります。

まずはインストールメディアからSXSフォルダを探す

Windows10のインストールメディアにから 「SXS」というフォルダを探します。この中に「microsoft-windows-netfx3-ondemand-package.cab」というファイルがあるのですが、これに.NET Framework 3.5 が格納されています。

SXSフォルダの場所

例えば、Windows10のインストールメディアが入ったドライブが「Eドライブ」だったとしたら、以下の階層にあります。

Windows10のバージョンによっては、SXSフォルダに入ってるcabファイルの名前や数が異なっている場合がありますが、netfx3という文字列が含まれたcabファイルが必要です。

このSXSフォルダば場所を覚えておくか、Cドライブ直下などに適当なフォルダを作ってコピーします。

インストールメディアが無い場合

Windows10のインストールメディアがない場合は以下のページからツールをダウンロードしてインストールメディアを作成することができます。

windows 10 のダウンロード

https://www.microsoft.com/ja-jp/software-download/windows10

また以下のページから必要なcabファイルNetFx3.zip)をダウンロードることもできます。インストールメディアを用意するのが面倒くさいときはこちらが手っ取り早いです。

windows 10 (1803) で、.net framework 3.5 のオフラインインストールができない | itnews on the web

https://itnews.jp/?p=13353

コマンドを実行してインストール

管理者としてコマンドプロンプトを起動し、以下のコマンドを入力すればサクッとインストールできます。(SXSフォルダがEドライブにある場合の例)

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:E:\sources\sxs
PowerShellの場合
Enable-WindowsOptionalFeature -Online -FeatureName NetFx3 -All -Source E:\sources\sxs -LimitAccess

エラーが出たら!?グループポリシーを変更して再実行してみる

万が一、以下のように0x800f081fというエラーが出たらグループポリシーを変更して再度チャレンジしてみてください。

その方法は以下のページを参考にしてみてください。

この画面の開き方は上記のページに記載があります。

本当にインストール(有効化)できているか確認

Windowsの機能と有効化でチェックが勝手に入っていた!

「Windowsの機能の有効化または無効化」を開いてみたところ「.NET Framework 3.5(.NET 2.0及び3.0を含む)」のところにチェックが入っていました。

.NETフォルダも存在している!

C:\Windows\Microsoft.NET\Frameworkのフォルダを開くと、「v3.5」というフォルダが増えていました。

レジストリにも登録があった!

レジストリエディタ(regedit)を起動し、「\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP」を確認したら「v3.5」というキーが作成されていました。

これバッチリです。

バッチファイルで自動化

.NET Framework 3.5の存在確認とインストール実行を行うBATファイルを作ってみました。コピーしたsxsフォルダと同じ階層に置いて使います。PowerShell版はまた今度。

@echo off
echo.
echo .NET Framework 3.5 をインストールします。
echo.

pause

echo.
echo 既にインストールされていないか確認しています。
echo.
set REGROOT=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5
reg query "%REGROOT%" >nul 2>&1
echo.

if %ERRORLEVEL% equ 0 (
    echo 既にインストール済みなので処理を終了します。
    echo.
    goto END
) else (
    echo インストールを開始します。
    echo.
    goto POLICYENABLE
)

:POLICYENABLE
echo ローカルセキュリティポリシーを変更しています。
echo.
set POLICYREG=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Servicing
reg add %POLICYREG% /v UseWindowsUpdate /t REG_DWORD /d 2 /f >nul
echo.

:INSTALL
echo .NET Framework 3.5 をインストールしています。
echo.
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:"%~dp0sxs"
echo.
echo 変更したレジストリを削除します。
echo.
reg delete %POLICYREG% /f >nul
echo.
echo 以下のバージョンがインストールされました。
reg query "%REGROOT%" /v Version
echo.

:END
pause
exit

以下よりこのバッチファイルと必要なcabファイルをセットでできます。

管理者として実行

バッチファイルはダブルクリックではなく「管理者として実行」してください。

インストールしている様子

バッチファイルを実行してインストールが正常に行えている様子です。

参考サイト

.net framework 3.5 を有効化する手順について ( windows 10 ) | ask core

https://blogs.technet.microsoft.com/askcorejp/2018/10/05/enable_net35_win10/

展開イメージのサービスと管理 (dism) を使用した .net framework 3.5 の展開 | microsoft docs

https://docs.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/deploy-net-framework-35-by-using-deployment-image-servicing-and-management--dism

windows10にオフライン環境で.net framework 1.1 および .net framework 3.5をインストールする - qiita

https://qiita.com/yaju/items/0cc10ff85b4042fc5ed1

【win10】メディア不要!!powershellで.net framework3.5の有効化 | chibashi's life log

http://chibashi.me/development/win10-net-framework-35-powershell/

windows 10 (1803) で、.net framework 3.5 のオフラインインストールができない | itnews on the web

https://itnews.jp/?p=13353

PAGETOP