Visual Studio オフライン インストールに必要な証明書をインストールする
Visual Studio は、本来、インターネットに接続されているコンピューターからインストールするように設計されています。多くのコンポーネントが定期的に更新されるためです。 しかしながら、いくつかの追加手順を踏めば、インターネットが利用できない環境で Visual Studio を展開できます。
Visual Studio セットアップ エンジンでは、信頼されているコンテンツのみがインストールされます。 そのためにセットアップ エンジンは、ダウンロードされるコンテンツの Authenticode 署名を確認し、すべてのコンテンツが信頼されていることをインストール前に検証します。 これにより、ダウンロード場所が侵害されていた場合に攻撃から環境の安全を維持します。
そのため、Visual Studio のセットアップでは、Microsoft 標準の複数のルート証明書と中間証明書がユーザーのコンピューターにインストールされて最新の状態になっている必要があります。 コンピューターが Windows Update で最新の状態に保たれている場合は、通常、署名証明書も最新の状態になっています。 コンピューターがインターネットに接続されている場合、インストールの間に、Visual Studio はファイルの署名の検証に必要な証明書を更新できます。 コンピューターがオフラインの場合は、別の方法で証明書を更新する必要があります。
オフラインのときに証明書を更新する方法
オフライン環境で証明書をインストールまたは更新するには 3 つのオプションがあります。
オプション 1 - レイアウト フォルダーから手動で証明書をインストールする
ネットワーク レイアウトまたはローカル オフライン キャッシュを作成すると、必要な証明書が [Certificates] フォルダーにダウンロードされます。 各証明書ファイルを右クリックして [証明書のインストール] を選択した後、証明書マネージャー ウィザードの指示に従って操作することで、手動で証明書をインストールできます。 パスワードを求められたら、空のままにしてください。
オプション 2 - エンタープライズ環境で信頼されたルート証明書を配布する
最新のルート証明書がないオフラインのコンピューターの場合、管理者が「信頼されたルートおよび許可されない証明書を構成する」の指示に従って更新できます。
オプション 3 - Visual Studio のスクリプト化された展開の一部として証明書をインストールする
オフライン環境でクライアント ワークステーションへの Visual Studio の配置をスクリプトにしている場合は、以下の手順に従う必要があります。
証明書マネージャー ツール (certmgr.exe) をネットワーク レイアウトまたはローカル キャッシュのインストール場所にコピーします。 certmgr.exe は Windows 自体には含まれませんが、Windows SDK の一部として利用できます。
次のコマンドでバッチ ファイルを作成します。
certmgr.exe -add [layout path]\certificates\manifestRootCertificate.cer -n "Microsoft Root Certificate Authority 2011" -s -r LocalMachine root certmgr.exe -add [layout path]\certificates\manifestCounterSignRootCertificate.cer -n "Microsoft Root Certificate Authority 2010" -s -r LocalMachine root certmgr.exe -add [layout path]\certificates\vs_installer_opc.RootCertificate.cer -n "Microsoft Root Certificate Authority 2010" -s -r LocalMachine root
あるいは、次のコマンドによって、certutil.exe (Windows に付属している) を使用するバッチ ファイルを作成します。
certutil.exe -addstore -f "Root" "[layout path]\certificates\manifestRootCertificate.cer" certutil.exe -addstore -f "Root" "[layout path]\certificates\manifestCounterSignRootCertificate.cer" certutil.exe -addstore -f "Root" "[layout path]\certificates\vs_installer_opc.RootCertificate.cer"
バッチ ファイルをクライアントに配置します。 このコマンドは、管理者特権のプロセスから実行する必要があります。
Certificates フォルダー内の証明書ファイルの内容
- manifestRootCertificate.cer には次が含まれます。
- ルート証明書: Microsoft ルート証明機関 2011
- manifestCounterSignRootCertificate.cer と vs_installer_opc.RootCertificate.cer には、次が含まれます。
- ルート証明書: Microsoft ルート証明機関 2010
Visual Studio インストーラーによって求められるのは、システム上にルート証明書がインストールされることのみです。 以上の証明書はすべて、最新の Windows 更新プログラムがインストールされていない Windows 7 Service Pack 1 システムで必要になります。
Certificates フォルダーから証明書が自動的にインストールされません。
署名がオンライン環境で検証されるとき、Windows API が利用されて証明書がシステムにダウンロードされ、追加されます。 このプロセスで、証明書が信頼できることと管理者設定で許可されることが確認されます。 ほとんどのオフライン環境では、この検証プロセスを実行できません。 証明書を手動でインストールすると、証明書が信頼できること、および組織のセキュリティ ポリシーを満たすことを確認できます。
証明書が既にインストールされているかどうかを確認する
以下の手順はインストール システムをチェックする方法の 1 つです。
mmc.exe を実行します。
a. [ファイル] をクリックし、 [スナップインの追加と削除] を選択します。
b. [証明書] をダブルクリックし、 [コンピューター アカウント] を選択して、 [次へ] をクリックします。
c. [ローカル コンピューター] を選択して [完了] をクリックします。
d. [証明書 (ローカル コンピューター)] を展開します。
e. [信頼されたルート証明機関] を展開し、 [証明書] を選択します。- この一覧で必要なルート証明書を確認します。
f. [中間証明機関] を展開し、 [証明書] を選択します。
- この一覧で必要な中間証明書を確認します。
- この一覧で必要なルート証明書を確認します。
[ファイル] をクリックし、 [スナップインの追加と削除] を選択します。
a. [証明書] をダブルクリックし、[ユーザー アカウント] を選択して、[完了] をクリックします。
b. [証明書 - 現在のユーザー] を展開します。
c. [中間証明機関] を展開し、 [証明書] を選択します。- この一覧で必要な中間証明書を確認します。
- この一覧で必要な中間証明書を確認します。
証明書名が [発行先] 列にない場合は、インストールする必要があります。 中間証明書が [現在のユーザー] 中間証明書ストアのみにある場合、その中間証明書はログインしているユーザーだけが使用できます。 他のユーザー用にインストールが必要な場合があります。
Visual Studio のインストール
クライアント コンピューターに証明書をインストールすると、ローカル レイアウトから Visual Studio をインストールするか、クライアント コンピューターにネットワーク レイアウト共有から Visual Studio を展開する準備ができます。
サポートまたはトラブルシューティング
ときには、問題が発生してしまうことがあります。 Visual Studio のインストールが失敗した場合は、「Visual Studio のインストールとアップグレードの問題のトラブルシューティング」に記載されているステップ バイ ステップ ガイドをご覧ください。
他のいくつかのサポート オプションを次に示します。
- インストール関連の問題については、インストール チャット (英語のみ) のサポート オプションを提供しています。
- Visual Studio インストーラーおよび Visual Studio IDE の両方に表示される [問題の報告] ツールから、製品の問題を Microsoft に報告してください。 自分は IT 管理者であるのに、Visual Studio がインストールされていない場合は、こちらで IT 管理者フィードバックを送信できます。
- Visual Studio 開発者コミュニティで機能の提案、製品の問題の追跡、回答の検索を行うことができます。