オフラインイントーラーなのに単体でインストールすると失敗する.NET Framework 4.7(KB3186497)。
前回、クリーンインストールホヤホヤのWindows 7に.NET Framework 4.7をオフライン環境で失敗せずにインストールする方法を書きましたが、今度は言語パックのオフラインインストールが失敗しました。
そこで今回は、失敗せずに.NET Framework 4.7(KB3186497)と言語パック(KB3186499)を完全オフライン環境でインストールできる方法をまとめました。
ざっくりした流れ
- D3DCompiler_47.dllをインストール
- 証明書(MicrosoftRootCertificateAuthority2011.cer)を登録
- .NET Framework 4.7(KB3186497)をインストール
- NET Framework 4.7の言語パック(KB3186499)をインストール
1.D3DCompiler_47.dllをインストール
何のためのDLLかわかりませんが、.NET Framework 4.7(KB3186497)をインストールするためにはD3DCompiler_47.dllが必要です。
C:\Windows\Syatem32\D3DCompiler_47.dll
これがないとオンライン・オフライン共にインストール際、以下のエラーが出ます。
D3DCompiler_47.dllは、2017 年 5 月 17 日 - KB4019265 (マンスリー ロールアップのプレビュー)以降の月例ロールアップにも含まれていますので、月例ロースアップを適用しているPCでは既に存在しているので対応は不要ですが、存在していない場合はKB4019990を適用するか2017年5月以降の最新のマンスリーロールアップを適用してください。
2.証明書(MicrosoftRootCertificateAuthority2011.cer)を登録
証明書マネージャ(certmgr.msc)の[信頼できるルート証明機関]に[Microsoft Root Certificate Authority 2011]が登録されていないと以下のエラーが出ます。
いろいろやってみて、言語パックのオフラインインストールでは、この証明書の追加を避けることはできないことがわかりました。
この作業が面倒くさそうなので、前回は.NET Framework 4.7(KB3186497)のインストーラーを解凍することで避けることができたのですが、言語パック(KB3186499)はインストーラーを解凍してインストールするとエラーが出ます。普通は解凍しないと思いますが、この証明書を入れた後で未解凍のままインストールしてください。
ダウンロードリンク
以下リンクからMicrosoftRootCertificateAuthority2011.cerをダウンロードします。
楽に追加するコマンド
手動だと証明書マネージャ(certmgr.msc)を手動で開いたりと面倒なので、サクッとコマンドで登録します。ファイルパスは適当に変更し、管理者として起動したコマンドプロンプトで実行してください。
certutil.exe -addstore root "C:\MicrosoftRootCertificateAuthority2011.cer"
バッチファイル
何度も行う機会がある場合は、いかのバッチファイルを使うと便利です。MicrosoftRootCertificateAuthority2011.cerと同じ場所に保存して使ってください。
@echo off echo. echo ============================================= echo 証明書マネージャ(certmgr.msc)の echo [信頼されたルート証明機関]-[証明書]に echo Microsoft Root Certificate Authority 2011 echo を追加します。 echo ============================================= echo. pause rem 証明書追加 certutil -addstore root "%~dp0MicrosoftRootCertificateAuthority2011.cer" echo. echo 証明書を追加しました。 echo. pause rem 証明書マネージャを起動 start certmgr.msc exitこれで以下のように証明書マネージャ(certmgr.msc)の[信頼できるルート証明機関]に[Microsoft Root Certificate Authority 2011]の証明書が追加されいることを確認してください。
手動(GUI)で追加する場合の参考手順
3..NET Framework 4.7(KB3186497)をインストール
D3DCompiler_47.dllと証明書(MicrosoftRootCertificateAuthority2011.cer)が入っているので、エラー無くインストールできるはずです。
.NET Framework 4.7のダウンロード
以下のリンクから.NET Framework 4.7のオフラインインストーラー(NDP47-KB3186497-x86-x64-AllOS-ENU.exe)をダウンロードできます。
インストーラーを解凍したい場合のコマンド
以下のコマンドを実行すると解凍先を指定するダイアログが表示され、NDP47-KB3186497-x86-x64-AllOS-ENU.exeを解凍できます。何度もインストールする機会があるときは、解凍後のファイルを使えば、解凍時間が節約できます。解凍後に出てくるsetup.exeを実行してください。
C:\NDP47-KB3186497-x86-x64-AllOS-ENU.exe /extract
4.NET Framework 4.7の言語パック(KB3186499)をインストール
こちらも同じくエラー無くインストールできるはずです。こちらは/extractで解凍して使うとエラーが出ますので、ダウンロードしたままのインストーラーでインストールしてください。
言語パックのダウンロード
以下のリンクから.NET Framework 4.7 言語パックのオフラインインストーラー(NDP47-KB3186497-x86-x64-AllOS-JPN.exe)をダウンロードできます。
※言語パックのKB番号はKB3186499のはずなのに、ダウンロードしたファイルはKB3186497と.NET Framework 4.7の番号と同じですが別物です。言語パックを先にインストールはできません。必ず、.NET Framework 4.7を先にインストールしてください。
無事インストール完了
これで完全なオフライン環境で、クリーンインストールほやほやのWindows 7にいきなり.NET Framework 4.7と言語パックをインストールすることができました。