SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

インターネットに接続されていない、インストール直後の Windows 7 SP1 x64 に最新の SSMS をインストールする方法

leave a comment

タイトルの通りですが、インターネットに接続されていない、インストール直後の Windows 7 SP1 x64 に対して、SQL Server 2016 対応された最新の SSMS をインストールしようとした場合、少し癖がありましたので情報を。

Windows Update かけて最新化している場合は、発生しない気がしますが、素の Windows 7 SP1 だと発生するかと思います。

同様の情報として、 Windows 8/2012 以前のインターネット接続がない環境への SQL Server Management Studio のインストールが失敗する が公開されていますが、インストール直後の Windows 7 SP1 ですと、追加の手順が必要となります。

SSMS では、.NET Framework 4.5 が必要となりますので、これについては事前にインストールしておく必要があります。
今回は .NET Framework 4.5.1 のオフラインインストーラーでインストールしています。
# ぐぐったらすぐに出てきたオフラインインストーラーがこれだったので使っているのですが、4.5.2 でもいいかと。

Windows 7 SP1 + .NET Framework 4.5 の環境であれば SSMS のインストールを行うことができるのですが、進めると以下のような画面のエラーになるケースがあります。

image

「証明書チェーンを、信頼されたルート機関として構築できませんでした。 (0x800B010A)」というエラーになるのですが、これは、パッケージで使用されている証明書が Windows 7 SP1 のインストール直後の状態では含まれておらず、インターネット経由で取得しようとしても、経路がないために入手することができず、このようなエラーとなっています。

エラーログの内容としては以下のような出力となっています。

[0330:0BF8][2016-07-12T21:25:55]e000: Error 0x800b010a: Failed authenticode verification of payload: C:\ProgramData\Package Cache\.unverified\SqlSupport_x86
[0330:0BF8][2016-07-12T21:25:55]e000: Error 0x800b010a: Failed to verify signature of payload: SqlSupport_x86
[0330:0BF8][2016-07-12T21:25:55]e310: Failed to verify payload: SqlSupport_x86 at path: C:\ProgramData\Package Cache\.unverified\SqlSupport_x86, error: 0x800b010a. Deleting file.
[0330:0BF8][2016-07-12T21:25:55]e000: Error 0x800b010a: Failed to cache payload: SqlSupport_x86
[080C:0614][2016-07-12T21:25:55]e314: Failed to cache payload: SqlSupport_x86 from working path: C:\Users\MASAYU~1.OZA\AppData\Local\Temp\{55b82ab1-373d-4526-96d2-01a9e8f1b0ab}\SqlSupport_x86, error: 0x800b010a.
[080C:0614][2016-07-12T21:25:55]e349: Application requested retry of payload: SqlSupport_x86, encountered error: 0x800b010a. Retrying...
[0330:0BF8][2016-07-12T21:25:57]e000: Error 0x800b010a: Failed authenticode verification of payload: C:\ProgramData\Package Cache\.unverified\SqlSupport_x86
[0330:0BF8][2016-07-12T21:25:57]e000: Error 0x800b010a: Failed to verify signature of payload: SqlSupport_x86
[0330:0BF8][2016-07-12T21:25:57]e310: Failed to verify payload: SqlSupport_x86 at path: C:\ProgramData\Package Cache\.unverified\SqlSupport_x86, error: 0x800b010a. Deleting file.
[0330:0BF8][2016-07-12T21:25:57]e000: Error 0x800b010a: Failed to cache payload: SqlSupport_x86
[080C:0614][2016-07-12T21:25:57]e314: Failed to cache payload: SqlSupport_x86 from working path: C:\Users\MASAYU~1.OZA\AppData\Local\Temp\{55b82ab1-373d-4526-96d2-01a9e8f1b0ab}\SqlSupport_x86, error: 0x800b010a.
[080C:0614][2016-07-12T21:25:57]e349: Application requested retry of payload: SqlSupport_x86, encountered error: 0x800b010a. Retrying...
[0330:0BF8][2016-07-12T21:25:58]e000: Error 0x800b010a: Failed authenticode verification of payload: C:\ProgramData\Package Cache\.unverified\SqlSupport_x86
[0330:0BF8][2016-07-12T21:25:58]e000: Error 0x800b010a: Failed to verify signature of payload: SqlSupport_x86
[0330:0BF8][2016-07-12T21:25:58]e310: Failed to verify payload: SqlSupport_x86 at path: C:\ProgramData\Package Cache\.unverified\SqlSupport_x86, error: 0x800b010a. Deleting file.
[0330:0BF8][2016-07-12T21:25:58]e000: Error 0x800b010a: Failed to cache payload: SqlSupport_x86
[080C:0614][2016-07-12T21:25:58]e314: Failed to cache payload: SqlSupport_x86 from working path: C:\Users\MASAYU~1.OZA\AppData\Local\Temp\{55b82ab1-373d-4526-96d2-01a9e8f1b0ab}\SqlSupport_x86, error: 0x800b010a.
[0330:0BF8][2016-07-12T21:25:58]i351: Removing cached package: DotNet46, from path: C:\ProgramData\Package Cache\83D048D171FF44A3CAD9B422137656F585295866\
[0330:0BF8][2016-07-12T21:25:58]i351: Removing cached package: VCRedistD14x86, from path: C:\ProgramData\Package Cache\BFB74E498C44D3A103CA3AA2831763FB417134D1\
[080C:08E4][2016-07-12T21:25:58]e000: Error 0x800b010a: Failed while caching, aborting execution.
[0330:0714][2016-07-12T21:25:58]i330: Removed bundle dependency provider: {55b82ab1-373d-4526-96d2-01a9e8f1b0ab}
[0330:0714][2016-07-12T21:25:58]i352: Removing cached bundle: {55b82ab1-373d-4526-96d2-01a9e8f1b0ab}, from path: C:\ProgramData\Package Cache\{55b82ab1-373d-4526-96d2-01a9e8f1b0ab}\
[080C:08E4][2016-07-12T21:25:58]e000: MainViewModel.OnBundleAction: Bundle action failed: 証明書チェーンを、信頼されたルート機関として構築できませんでした。 (0x800B010A)
[080C:08E4][2016-07-12T21:25:58]i399: Apply complete, result: 0x800b010a, restart: None, ba requested restart:  No
[080C:00DC][2016-07-13T07:49:30]i000: MainViewModel.OpenUrl: Opening url: C:\Users\MASAYU~1.OZA\AppData\Local\Temp\SsmsSetup\SSMS-Setup-JPN_20160712212521.log

 

インターネットに接続されている環境であれば、インストールプロセスの「パッケージを読み込んでいます。しばらくお待ちください…」のタイミングで、で CRL の確認等が行われ、その中で以下の URL にアクセスをしてルート証明書の追加が行われています。

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

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

 

 

インターネットに接続されていない環境ですと、インストールする必要のあるパッケージで使用しているルート証明書の入手ができないため、エラーとなるようです。

ユーザーの信頼されたルート証明機関の証明書に

  • Microsoft Root Certificate Authority 2010
  • Microsoft Root Certificate Authority 2011

が含まれていない場合は、上記の URL から証明書をダウンロードしてインストールすることで、冒頭で紹介したエラーを回避できるようになります。

この対応と合わせて、 Windows 8/2012 以前のインターネット接続がない環境への SQL Server Management Studio のインストールが失敗する に書かれている https://support.microsoft.com/ja-jp/kb/2862966 がインストールされていることが、Windows 7 SP1 で最新の SSMS をインストールするための条件となるようです。

# KB2862966 もインストールされていないと Visual Studio 2015 isolated shell  のインストールでエラーとなります。

ルート証明書のインストールの方法としては、ルート証明書の登録方法について で紹介されている「rootsupd.exe」をインストールする方法もあるかと思いますが、この exe、DL しようとすると Windows 10 の Windows Defender で Malware 扱いされるため、企業内の N/W からそもそも入手できない可能性がありますので、証明書を個別にインストールしたほうが良いかと。

また、「ルート証明書の自動更新をオフ」のようなポリシーを設定しても、本エラーは回避できませんので、ルート証明書はインストーラーを実行するユーザーの有効なルート証明書としてインストールしておく必要があります。

 

関連として以下のような情報もありましたので、こちらはご紹介まで。

Windows Vista SP2、Windows Server 2008 SP2、Windows 7 SP1、および Windows Server 2008 R2 SP1 用の .NET Framework 4.6.1/4.6 のセキュリティ更新プログラム 3136000 および .NET Framework 4.5.2 のセキュリティ更新プログラム 3135996 の既知の問題

信頼されたルートおよび許可されない証明書を構成する

管理者が、接続されていない Windows 環境で信頼されている CTL と許可されていない CTL を更新できるようにする更新プログラムについて

Microsoft Trusted Root Certificate Program Updates

Written by masayuki.ozawa

7月 13th, 2016 at 8:18 am

Posted in SQL Server

Tagged with

Leave a Reply

*