Visual Studio 2017 Community のインストーラーが死んで死亡

Visual Studio 2017 Community をメインPCにぶち込むぜ!ヒャッハー!! …ハイテンションwktk全裸でインストーラを実行しましたが、エラーが出てインストールできませんでした…。 が、問題が解決できたのでその報告。

原因

インストーラーを実行すると、次のメッセージが表示されインストールプロセスを実行できません。

インストール ファイルをダウンロードできません。インターネット接続を確認してやり直してください。

http://hdimg.ir9.jp/hd17/0430_00.png

条件

  • Windows10
  • インターネッツには問題なく接続できている
  • 他のマシンではインストーラーが起動する
    • オフラインインストール用にファイルも拾ってこれる
  • オフラインインストールしても同じメッセージが出る。おめーネットからファイル拾ってきて無ぇじゃん!
    • オフラインインストール用証明書もインストールした
      • ここの "オフライン インストール フォルダーからのインストール" を参照

対策

  1. 服を着用します
  2. TSUTAYA で DOG DAYS の DVD をレンタルしてきます
  3. Windowsサービス "CNG Key Isolation" を起動させます。
  4. Visual Studio 2017 のインストーラーを起動します。
  5. 借りてきたDVDを鑑賞しながらインストール完了を待ちます

…というわけで "CNG Key Isolation" のサービスが起動していなかった事が原因でした。

調査方法

%tmp%dd_bootstrapper_*.log なんてログが出力されます。 その中には次のような文言がありました。

VisualStudio Bootstrapper:2017/04/30 16:15:21: Caught Exception: Type = CryptographicException, Message = エンドポイント マッパーから使用できるエンドポイントはこれ以上ありません。
, StackTrace =    場所 System.Security.Cryptography.NCryptNative.OpenStorageProvider(String providerName)
   場所 System.Security.Cryptography.CngKey.Create(CngAlgorithm algorithm, String keyName, CngKeyCreationParameters creationParameters)
   場所 System.Security.Cryptography.RSACng.get_Key()
   場所 System.Security.Cryptography.RSACng.Encrypt(Byte data, RSAEncryptionPadding padding)
   場所 System.Security.Cryptography.RSAPKCS1KeyExchangeFormatter.CreateKeyExchange(Byte rgbData)
   場所 System.Security.Cryptography.CngLightup.DetectRsaCngSupport()

あー、署名周りで死んでるねーと。

…で、ググってみたりもしたんですが、Firewall だか WindowsUpdate だか ActiveDirectory とかが引っかかってなんか違う感。 ぶっちゃけよくわからねぇ(ぉ 仕方ないのでノリでサービス周りだろうなぁという直感を元に一覧から crypt に関係するサービスを起動させてみたらなんか上手くいきました! やったねタエちゃん!! また一つ無駄に Visual Studio が増えるよ!!

VS2015 を1回起動しただけで VS2017 をぶち込んでる程度の能力