Windows 10 上で .NET Framework 4.6.2 のインストールに失敗する
こんにちは。Visual Studio サポート チームです。
今回は、Windows 10 に .NET Framework 4.6.2 をインストールする際に発生する可能性のあるエラーと対処方法についてご案内します。
※ Windows 10 Anniversary Update を適用されている環境には既定で .NET Framework 4.6.2 がインストールされていますので、個別にインストールする必要はありません。以下の内容は、Anniversary Update を適用することができない Windows 10 環境に .NET Framework 4.6.2 をインストールするケースを対象としています。
現象
Windows 10 上で .NET Framework 4.6.2 のインストールを行った場合に、以下のエラー メッセージが表示されインストールに失敗することがあります。
ログファイルには以下のように記録されます。
------------------------------------------
Exe (C:\99e6d478c9a1da0ac4fd\Windows10.0-KB3151900-x86.cab) failed with 0x543 - 匿名レベル セキュリティ トークンを開けません。
Exe Log File: CBS.log
Final Result: Installation failed with error code: (0x00000543), "匿名レベル セキュリティ トークンを開けません。 "
------------------------------------------
原因
この問題は、分散 COM (DCOM) の設定において、[既定の認証レベル] が [なし] に設定されている場合に発生します。
[既定の認証レベル] が [なし] に設定されている場合、.NET Framework 4.6.2 のインストール時に必要となるセキュティ トークンの検証が正常に実施できずにエラーが発生します。
本動作は、Windows 10 に対応する .NET Framework 4.6.2 インストーラーの既定の動作によるものとなります。
なお、.NET Framework 4.6.2 のインストーラーは、.NET Framework 4.x が OS に同梱されている Windows 8.1/10 などの OS 用と、個別のパッケージとしてインストールされる Windows 7 などの OS 用では異なるパッケージとして作成されており、本現象は、Windows 7 などの環境では発生しません。
対処方法
コンポーネント サービスの管理画面から、分散 COM の設定を変更することで問題に対処することが可能です。.NET Framework 4.6.2 のインストール後は、設定を元に戻して構いません。
手順
1. 「ファイル名を指定して実行」の入力ボックスに dcomcnfg と入力して実行します。
2. [コンソール ルート] - [コンポーネント サービス] - [コンピューター] とツリーを展開し [マイ コンピューター] を右クリックして [プロパティ] を選択します。
3. [既定のプロパティ] タブを開き、[既定の認証レベル] が [なし] に設定されている場合は、[接続] に変更して [OK] を選択します。
4. 上記の設定変更後、.NET Framework 4.6.2 のインストールを再度実行します。
分散 COM の設定の詳細については、詳細は以下をご参考ください。
[マイ コンピューター ] プロパティ シート - [既定のプロパティ ] タブ
https://technet.microsoft.com/ja-jp/library/dd145516(v=ws.11).aspx
以上となります。
Anniversary Update を適用することができない Windows 10 環境などに .NET Framework 4.6.2 をインストールする際にご参考いただけましたら幸いです。