Windows 8/2012 以前のインターネット接続がない環境への SQL Server Management Studio のインストールが失敗する

 

 

事象

以下のダウンロードサイトからダウンロードしたローカライズ版 SQL Server Management Studio を、インターネットにアクセスできない Windows 8, Windows 7, Windows 2012, Windows 2008 R2 にインストールしようとすると、インストールは失敗します。

 

Download SQL Server Management Studio (SSMS)
https://msdn.microsoft.com/en-us/library/mt238290.aspx

 

英語版 SQL Server Management Studio をインストールする場合や、ローカライズ版 SQL Server Management Studio であっても Windows 10, Windows 8.1, Windows 2012 R2 にインストールする場合には、インターネットへのアクセス可否に関わらず、インストールは成功します。

 

原因

SQL Server Management Studio のインストール時には Visual Studio 2015 isolated shell がインストールされますが、ローカライズ版の場合には各言語のリソースファイルもあわせてインストールされます。このリソースファイルのインストール時、デジタル署名の有効性の確認のために証明書失効リストが参照されますが、Windows 8/2012 以前のバージョンに含まれている証明書失効リストは古いため、インストーラーはインターネット上の認証局から新しいリストを入手しようとします。インターネットへアクセスできない場合、新しいリストは入手できず、その結果 Visual Studio 2015 isolated shell のインストールが失敗します。この動作は、Visual Studio の制限事項です。

Visual Studio 2015 isolated shell のインストールが失敗すると、SQL Server Management Studio のインストールも失敗します。

 

インストール時に生成される SSMS-Setup-JPN.log には以下のように VS2015IsoShell パッケージの実行が失敗したことを示す内容が記録されます。

 

[1FD0:1500][2016-06-24T19:10:36]e000: Error 0x800705b4: Process returned error: 0x800705b4
[1FD0:1500][2016-06-24T19:10:36]e000: Error 0x800705b4: Failed to execute EXE package.
[1494:14B0][2016-06-24T19:10:36]e000: Error 0x800705b4: Failed to configure per-machine EXE package.
[1494:14B0][2016-06-24T19:10:36]i000: MainViewModel.OnPackageAction: Install Completed for package Microsoft Visual Studio 2015 Shell (Isolated)
[1494:14B0][2016-06-24T19:10:36]i319: Applied execute package: VS2015IsoShell, result: 0x800705b4, restart: None
[1494:14B0][2016-06-24T19:10:36]e000: Error 0x800705b4: Failed to execute EXE package.

 

また、VS2015IsoShell セットアップログファイルには、以下のように必要な公開キーが証明書チェーン内に見つからないことを示すエラーが記録されます。

[082C:016C][2016-06-07T13:30:16]i304: Verified existing payload: sdk_tools35res at path: C:\ProgramData\Package Cache\.unverified\sdk_tools35res.
[082C:016C][2016-06-07T13:30:16]i305: Verified acquired payload: sdk_tools35res at path: C:\ProgramData\Package Cache\.unverified\sdk_tools35res, moving to: C:\ProgramData\Package Cache\{22723504-7664-41CE-AD26-0BD67C687B41}v3.11.50727\packages\sdk_tools35res\sdk_tools35res.msi.
[06F4:0170][2016-06-07T13:30:16]i000: MUX:  Source confirmed
[082C:016C][2016-06-07T13:30:16]e000: Error 0x80070490: Failed to find expected public key in certificate chain.

 

対処方法

SQL Server Management Studio をインストールする前に、KB 2862966 のセキュリティ更新をインストールします。

 

Windows の弱い証明書暗号化アルゴリズムの管理を向上させる更新プログラムについて

https://support.microsoft.com/ja-jp/kb/2862966

 

環境によっては、以下の手順も追加で実施する必要がある場合もあります。KB 2862966 のセキュリティ更新をインストールしてもエラーとなる場合は以下も実施して下さい。

 

(1) 以下からファイルをダウンロードし、各ファイルについて、以降の (2) ~ (5) の手順を実施。

https://www.microsoft.com/pki/certs/MicRooCerAut2011_2011_03_22.crt

https://www.microsoft.com/pki/certs/MicRooCerAut_2010-06-23.crt

 

(2) [ファイル名を指定して実行] またはコマンドプロンプトから certmgr.msc を実行。または、mmc.exe を起動後に [証明書] スナップインを選択して mmc を起動。

(3) [信頼されたルート証明書機関] – [証明書] を右クリックし、[すべてのタスク] – [インポート] を実行。

(4) [インポートする証明書ファイル] で、ダウンロードしたファイルを指定。

(5) 証明書の配置先として、[信頼されたルート証明書機関] を選択し、証明書をインストール。