Visual Studio のネットワーク インストールを作成して管理する
📣フィードバックをお待ちしております。この アンケートの を完了し、レイアウトエクスペリエンスを向上させる方法をお知らせください。ご支援をいただき、ありがとうございます。
エンタープライズ管理者は、組織内のクライアント コンピューターに展開できる Visual Studio ファイルを含むプライベート インストール キャッシュ ("レイアウト" とも呼ばれます) を作成したい場合があります。
レイアウトの作成は、次の状況で役立ちます。
- ユーザーのアクセス許可が制限されている
- クライアント マシンは、インターネットへのアクセスが制限されています
- 組織は、特定のバージョンの開発者ツールセットを標準化したいと考えています
管理者がレイアウトを作成して維持し、内部ネットワーク共有に保存し、必要に応じて組織のイントラネットで使用できるように、Visual Studio を設計しました。 レイアウトは、クライアントの初期インストールと以降の更新プログラムの両方に必要なすべての Visual Studio ファイルのソースの場所として機能します。
このページの情報は、次の 3 つの主要なセクションにグループ化されています。
- レイアウトの作成: 正しい製品コンテンツを使用してレイアウトを作成し、既定の設定を構成し、ネットワーク ファイル共有に保存し、イントラネットで使用できるようにする方法について説明します。
- レイアウトのを維持する: レイアウトの製品バージョンを最適に更新する方法、またはレイアウトの製品コンテンツ、チャネル設定、インストーラーのバージョン、およびフォルダー サイズを変更する方法に関する情報。
- ヘルプとサポートの: ヘルプを依頼する場所
レイアウトを作成する
ネットワーク ファイル共有の保存場所を準備する
まず、ダウンロードした Visual Studio パッケージを格納する場所を決定する必要があります。 Visual Studio の複数のエディションが社内で使用されている場合 (Visual Studio 2022 Professional や Visual Studio 2022 Enterprise など)、エディションごとに個別のレイアウトを作成する必要があります。 各エディションに個別のレイアウトを作成すると、特にレイアウトの更新でディスク領域も消費されると考える場合に、多くのディスク領域が消費される可能性があります。
レイアウト パスは 80 文字未満にする必要があります。一部の組織では、シンボリック リンク を使用して、80 文字の制限を回避できます。
Visual Studio ブートストラップをダウンロードしてレイアウトを作成する
目的の Visual Studio のエディションに適したブートストラップをダウンロードし、レイアウトのリポジトリとして使用するディレクトリにコピーします。 レイアウトが作成されたら、それを使用して任意のクライアント コンピューターに Visual Studio をインストールできます。 ブートストラップは、他のレイアウト操作の作成、更新、実行に使用する実行可能ファイルです。 この手順を完了するには、インターネット接続と管理者権限が必要です。
次のブートストラップは、実行時に関係なく、常に最新の最も安全なバージョンの Visual Studio 2019 をインストールします。 または、レイアウトを作成または Visual Studio 2019 の特定のバージョンに更新する場合は、各サービス リリースの固定バージョン ブートストラップへのリンクがある Visual Studio 2019 リリース ページに移動し、必要なものをダウンロードします。 レイアウトのソースの場所として使用するディレクトリにコピーします。
エディション | ブートストラッパー |
---|---|
Visual Studio 2019 Enterprise バージョン 16.11 | vs_enterprise.exe |
Visual Studio 2019 Professional バージョン 16.11 | vs_professional.exe |
Visual Studio 2019 ビルド ツール バージョン 16.11 | vs_buildtools.exe |
その他のサポートされているブートストラップには、vs_teamexplorer.exe、vs_testagent.exe、および vs_testcontroller.exeがあります。
次のブートストラップは、実行時に関係なく、常に最新の最も安全なバージョンの Visual Studio 2022 を現在のチャネルにインストールします。 または、Visual Studio 2022 の特定のバージョンまたは特定のチャネルに対するレイアウトを作成または更新したい場合は、そのチャネルのサービス リリース用の evergreen と固定バージョンのブートストラップ ローダーを、「Visual Studio 2022 リリース履歴」からダウンロードします。 レイアウトのソースの場所として使用するディレクトリにコピーします。
エディション | ブートストラッパー |
---|---|
Visual Studio 2022 Enterprise | vs_enterprise.exe |
Visual Studio 2022 Professional | vs_professional.exe |
Visual Studio 2022 コミュニティ | vs_community.exe |
Visual Studio 2022 ビルド ツール | vs_buildtools.exe |
ヒント
ブートストラップ ファイルを以前にダウンロードし、そのファイルのバージョンを確認する場合は、次の手順を実行します。 Windows でエクスプローラーを開き、ブートストラップ ファイルを右クリックし、[プロパティ] 選択し、[の詳細] タブを選択して、製品バージョン 番号を表示します。 その番号を Visual Studio のリリースと一致させる場合は、Visual Studio 2019 リリース ページの下部にある表を参照してください。
ヒント
以前にブートストラップ ファイルをダウンロードし、インストールするバージョンを確認する場合は、次の手順を実行します。 Windows でエクスプローラーを開き、ブートストラップ ファイルを右クリックし、[プロパティ] 選択し、[の詳細] タブを選択します。製品バージョン フィールドには、ブートストラップがインストールする チャネルとバージョン が記述されています。 バージョン番号は常に "指定されている内容の最新のサービス バージョン" として読み取る必要があり、チャネルは明示的に指定されていない限り Current と見なされます。 そのため、LTSC 17.0 の製品バージョンを持つブートストラップは、17.0 LTSC チャネルで利用可能な最新の 17.0.x サービス リリースをインストールします。 Visual Studio 2022 と記された製品バージョンのブートストラッパーは、現在のチャネルに最新のサービス バージョンの Visual Studio 2022 をインストールします。
Visual Studio パッケージをダウンロードする
この手順を完了するには、インターネット接続が必要です。
管理者特権のコマンド プロンプトを開き、ブートストラップをダウンロードしたディレクトリに移動し、で定義されているブートストラップのパラメーターを使用して、コマンド ライン パラメーターを使用して Visual Studio ページをインストールし、ネットワーク レイアウトを作成および維持します。 次の例は、初期レイアウトを作成する一般的な方法を示しています。 その他の例については、Visual Studio のインストール ページの コマンド ライン パラメーターの例を参照してください。
1 つの言語ロケールの完全な初期レイアウトには、Visual Studio Community 用に約 40 GB、Visual Studio Enterprise 用に約 50 GB のディスク領域が必要です。 追加の 言語ロケール には、それぞれ約0.5 GBが必要です。
推奨される方法は、すべてのワークロードと適切な言語で Visual Studio の初期レイアウトを作成し、ネットワーク サーバー上のレイアウト ディレクトリにパッケージを格納することです。 そうすることで、すべてのクライアント インストールで、Visual Studio 製品オファリング全体にアクセスし、任意のサブセットをインストールできます。 Visual Studio の完全なレイアウトを作成するには、ネットワーク レイアウトをホストするディレクトリから次のコマンドを実行します。
vs_enterprise.exe --layout c:\VSLayout
レイアウトが正しいチャネルに基づいていることを確認する
ネットワーク レイアウトが正しいチャネルに基づいていることを確認することが重要です。これは、管理者によって更新される条件の 1 つであり、組織全体に展開されている場合は、どのクライアント インスタンスを更新する必要があるかを特定するために使用します。 たとえば、レイアウトが VisualStudio.17.Release.LTSC.17.0 チャネルに基づいており、クライアントが Microsoft ホストサーバーから更新プログラムを受信するように構成されている場合、17.0 LTSC チャネルで利用可能になったセキュリティ更新プログラムは、そのレイアウトからインストールまたは更新されたクライアントで使用できます。
前に示したブートストラップ ローダーは、最新チャネルに基づいています。 いずれかの LTSC チャネルに基づいてレイアウトを作成するには、Visual Studio 2022 リリース履歴 ページから適切なチャネルのブートストラップを取得し、それをレイアウト フォルダーにコピーし、それを使用してレイアウトを作成または更新します。
レイアウトの内容を構成する
ネットワーク レイアウトの内容をカスタマイズするために使用できるオプションがいくつかあります。 特定の 言語ロケール、ワークロード、コンポーネント、および推奨またはオプションの依存関係のみを含む部分レイアウトを作成できます。 部分レイアウトは、ワークロードのサブセットのみをクライアント ワークステーションに展開することがわかっている場合に便利です。 レイアウトをカスタマイズするための一般的なコマンド ライン パラメーターは次のとおりです。
--add
で ワークロード ID またはコンポーネント IDを指定する。--add
を使用すると、--add
で指定されたワークロードとコンポーネントのみがダウンロードされます。--add
が使用されていない場合は、すべてのワークロードとコンポーネントがダウンロードされます。--includeRecommended
、指定されたワークロード ID に推奨されるすべてのコンポーネントを含めます。--includeOptional
: 指定したワークロード ID のすべてのオプション コンポーネントを含めます。--config
は*.vsconfig
ファイルを使用して、レイアウトに含めるか参照する ワークロード、コンポーネント、または 拡張機能を指定します。 構成ファイルの 完全パス を指定してください。--lang
: 言語ロケールを指定します。
カスタム ネットワーク レイアウトを作成する方法の例をいくつか次に示します。
すべてのワークロードに必要なコンポーネントを含むレイアウトを 1 つの言語でのみ作成するには、次のコマンドを実行します。
vs_enterprise.exe --layout C:\VSLayout --lang en-US
複数の言語のすべてのワークロードに必要なコンポーネントを含むレイアウトを作成するには、次のコマンドを実行します。
vs_enterprise.exe --layout C:\VSLayout --lang en-US de-DE ja-JP
1 つのワークロードと、そのワークロードのすべての必須コンポーネントと推奨コンポーネントをすべての言語で含むレイアウトを作成するには、次のコマンドを実行します。
vs_enterprise.exe --layout C:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --includeRecommended
2 つのワークロードと 3 つの言語で 1 つのオプション コンポーネントを含むレイアウトを作成するには、次のコマンドを実行します。
vs_enterprise.exe --layout C:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Component.Git --lang en-US de-DE ja-JP
構成ファイルを使用してレイアウトの内容を初期化する
--config
パラメーターを使用して、*.vsconfig
ファイル渡すことができます。 構成ファイルの 完全パス を指定してください。 レイアウトの作成時に *.vsconfig
ファイルを使用すると、ネットワーク レイアウトの内容がカスタマイズされ、構成ファイルで指定されているものに制限されます。 構成ファイルがレイアウト ディレクトリにコピーされ、layout.vsconfig
に名前が変更されます。
*.vsconfig
ファイル で指定された 拡張子は、レイアウトに直接コピーされません。 代わりに、レイアウトの response.json
ファイルには、クライアントの拡張機能のインストール場所を定義する、新しく作成された layout.vsconfig
ファイルへの参照が含まれています。 デジタル署名されていない拡張機能をインストールする場合は、response.json
を編集して "allowUnsignedExtensions": true
を追加してください。 response.json
の内容の例に関する記事をご覧ください。
vs_enterprise.exe --layout "C:\VSLayout" --config "C:\myconfig.vsconfig"
レイアウトをネットワーク共有にコピーする
クライアント コンピューターからアクセスできるように、ネットワーク共有でレイアウトをホストする必要があります。 ローカル コンピューターでレイアウトを作成した場合は、ネットワーク ファイルの場所にコピーする必要があります。 次の例では、xcopy
を使用します。 必要に応じて、robocopy
を使用することもできます。 例:
xcopy /e c:\VSLayout \\server\share\layoutdirectory
このレイアウトの初期クライアント インストールの既定値を構成する
response.json
というファイルがレイアウトのルート フォルダーに作成されます。 このカスタマイズ可能なファイルは、クライアントが最初にレイアウトからインストールするときに、クライアントで構成する初期の既定の設定を提供します。 一般的な構成オプションには、次の構成機能が含まれます。
- クライアントに既定でインストールする必要があるワークロード、コンポーネント、または言語
- 推奨されるコンポーネントもインストールする必要がある場合
- クライアントがインストール
*.vsconfig
ファイルを尊重する必要がある場合 - クライアントが更新プログラムを受け取る場所
- 更新中にサポート外のコンポーネントを削除する必要がある場合
- 署名されていない拡張機能を、メッセージの表示なしにプログラムで読み込める場合
詳細については、応答ファイルを使用した Visual Studio のインストールの自動化に関するページ 参照してください。
イントラネット サイトを介してレイアウトにアクセスできるようにします
2023 年 6 月から、内部イントラネット サイトでレイアウトを使用できるようになります。これにより、Web サーバー ファイルのキャッシュと georeplication のパフォーマンス機能を利用できます。 この新機能を使用するには、最新の Visual Studio ブートストラップと最新の Visual Studio インストーラーを使用する必要があります。 このイントラネット Web ホスティング機能を利用するには、IT 管理者は次の操作を行う必要があります。
まず、ネットワーク レイアウトを作成して維持し、ビットがネットワーク共有に存在し、定期的に更新されるようにします。 また、クライアントがイントラネット レイアウトの場所から更新プログラムを取得する場合は、レイアウトの response.jsonで channelUri 値を構成することを忘れないでください。
次に、管理者は内部 Web サイトを準備し、Web サイトのソースをレイアウトのネットワーク ファイルの場所にバインドする必要があります。 また、Web サーバーが次の MIME の種類を尊重していることを確認する必要もあります。
ファイル拡張子 MIME の種類 .cab application/vnd.ms-cab-compressed
.exe application/octet-stream
.json application/json
.msi application/octet-stream
.msu application/octet-stream
.nupkg application/octet-stream
.opc application/octet-stream
.ps1 application/postscript
.vsix application/octet-stream
.xml text/xml
.zip application/x-zip-compressed
最後に、このレイアウトをクライアントに展開するには、クライアントで PowerShell スクリプトを実行 、初期インストールを実行します。 Visual Studio が Web ホスト型レイアウトからクライアントに正常にインストールされた後、webhosted レイアウトのクライアント更新プログラムは、標準の方法を使用して更新できます。
レイアウトで最新のインストーラーが使用されていることを確認する
手記
2023 年 6 月の時点で、最新のインストーラーには、サポートされているすべてのバージョンの Visual Studio 2017、Visual Studio 2019、および Visual Studio 2022 に対するすべての更新プログラムが既定で付属しています。 したがって、これらの製品バージョンのいずれかを使用している場合は、最新の機能とバグ修正を使用して最新バージョンのインストーラーを取得するために明示的に何もする必要はありません。
2023 年 6 月より前に出荷されたバージョンの Visual Studio を使用している場合は、常に最新の Visual Studio インストーラーをレイアウトで使用し、クライアントに配布することをお勧めします。 たとえば、Visual Studio 2019 レイアウトで Visual Studio 2022 インストーラーを配布する場合、そのレイアウトに基づいて Visual Studio 2019 クライアントは、更新プログラムのソースの場所を変更したり、サポート外のコンポーネントを簡単に削除したりできます。 詳細については、以下のセクションで説明します。
プログラムで最新のインストーラーを使用していることを確認する機能は、Visual Studio 2022 が最初に出荷された後にビルドされた Visual Studio 2019 ブートストラップでのみ使用できます。 そのため、次の例の vs_enterprise.exe は、2021 年 11 月 10 日以降に 出荷されたバージョンである必要があります。
利用可能な最新かつ最高のインストーラーを使用する製品全体のレイアウトを作成するには、
vs_enterprise.exe --layout C:\VSLayout --useLatestInstaller
レイアウトの維持
Visual Studio レイアウトを最新のセキュリティで保護されたバージョンの製品に定期的に更新することをお勧めします。 これにより、クライアント インストールのインストール ポイントと更新ソースの両方としてレイアウトを使用できるようになります。 次のセクションでは、最も一般的または便利なレイアウト メンテナンス操作について説明します。
ネットワーク ファイル共有でレイアウトをホストする場合は、更新されたレイアウトをプライベート ローカル共有 (c:\VSLayoutUpdate など) にダウンロードし、更新されたすべてのコンテンツがダウンロードされたら、レイアウト ネットワーク ファイル共有 (\server\products\VS など) にコピーします。 これを行わない場合、レイアウトの更新中にセットアップを実行したユーザーは、まだ完全に更新されていないため、レイアウトのコンテンツの不一致が発生する可能性があります。
製品の最新バージョンにレイアウトを更新する
Microsoft は、機能またはセキュリティの問題を修正するために、更新されたバージョンの製品を頻繁にリリースします。 クライアントが常に最新の最も安全なバージョンの製品にアクセスできるように、最新バージョンの製品でレイアウトを更新しておくことを強くお勧めします。 これは、クライアントがインターネットにアクセスできず、製品の更新プログラムをレイアウトから "のみ" 受け取ることができる場合に特に重要です。 Visual Studio は通常、月の第 2 火曜日にセキュリティ更新プログラム ("patch Tuesday" と呼ばれます) をリリースするため、パッチ火曜日の午後にすべてのレイアウトを更新することをお勧めします。
初期レイアウトを作成すると、レイアウトに含めるワークロードや言語などの指定されたオプションが、レイアウトの構成ファイル layout.json
に保存されます。 後で、そのレイアウトを新しいバージョンの製品に更新するときに、レイアウトで必要な製品のコンポーネントを再指定する必要はありません。 レイアウトの更新では、レイアウト内の既存のコンポーネントが最新バージョンに更新されます。
上で示した表 の evergreen ブートストラップ ローダーのいずれかを使って、この部分レイアウトを既に作成してあるとします。
vs_enterprise.exe --layout c:\VSLayout --add Microsoft.VisualStudio.Workload.ManagedDesktop --lang en-US
このレイアウトを、Microsoft が提供し、Microsoft サーバーでホストされている製品の最新バージョンに更新するのは簡単です。 レイアウトで既存の Evergreen ブートストラップ ローダーを使い、次のように、管理者特権のプロンプトで --layout
コマンドを実行して最新のパッケージをレイアウトにダウンロードするだけで済みます。
vs_enterprise.exe --layout c:\VSLayout
また、無人でレイアウトを更新バージョンに更新することもできます。 レイアウト操作では、新しいコンソール ウィンドウでセットアップ プロセスが実行されます。 ウィンドウは開いたままになっているため、管理者は最終的なレイアウトの更新結果と、発生した可能性のあるエラーの概要を確認できます。 レイアウトの更新操作を無人で実行する場合 (たとえば、レイアウトを最新バージョンに更新するために定期的に実行されるスクリプトがある場合)、--passive
パラメーターを使用すると、プロセスによってウィンドウが自動的に閉じられます。
vs_enterprise.exe --layout c:\VSLayout --passive
レイアウトを特定のバージョンの製品に更新する
場合によっては、製品 の特定のバージョンにレイアウトを更新する必要があります。 たとえば、組織を標準化したサービス ベースラインの最新のセキュリティで保護されたバージョンと一致するようにレイアウトを設定できます。 これを行う方法は次のとおりです。
Visual Studio 2019 リリース ページに移動し、特定の固定バージョンのブートストラップをダウンロードし、それをレイアウトにコピーして、それを使用して、ブートストラップで指定された正確なバージョンにレイアウトを更新できます。 上記とまったく同じ構文を使用します。
管理者の更新 を使用して、レイアウトを特定のバージョンの製品に更新できます。 管理者の更新プログラムを取得するには、Microsoft Update Catalog に移動し、レイアウトを更新する更新プログラムのバージョンを検索します。 レイアウトをホストしているコンピューターに update.exe
をダウンロードし、管理者特権でのコマンド プロンプトを開き、次のようなコマンドを実行します。
visualstudioupdate-16.0.0to16.11.23.exe layout --layoutPath c:\VSLayout
管理者の更新では、新しいレイアウトの作成は開始されません。既存のレイアウトのみが更新されます。 ブートストラップを使用して初期レイアウトを作成する必要があります。
Visual Studio 2022 リリース履歴 ページに移動し、特定の固定バージョンのブートストラップをダウンロードし、それをレイアウトにコピーして、それを使用して、ブートストラップで指定された正確なバージョンにレイアウトを更新できます。 上記とまったく同じ構文を使用します。
管理者の更新 を使用して、レイアウトを特定のバージョンの製品に更新できます。 管理者更新プログラムのを取得するには、Microsoft Update Catalog に移動し、レイアウトを更新する更新プログラムを検索します。 レイアウトをホストしているコンピューターに update.exe
をダウンロードし、そのコンピューターで管理者特権のコマンド プロンプトを開き、次のようなコマンドを実行します。
visualstudioupdate-17.0.0to17.4.4.exe layout --layoutPath c:\VSLayout
管理者の更新では、新しいレイアウトの作成は開始されないことに注意してください。既存のレイアウトのみが更新されます。 ブートストラップを使用して初期レイアウトを作成する必要があります。
ネットワーク レイアウトがサポートされているバージョンに基づいているかどうかを確認する
場合によっては、チャネルがサポート対象外に移行する際に、クライアントが引き続きセキュリティ更新プログラムの通知を受信できるように、サポートされているチャネルに基づいてネットワーク レイアウトが引き続き基づくようにする必要があります。 レイアウトが VisualStudio.17.Release.LTSC.17.0 チャネルに基づいている場合、2023 年 7 月に 17.0 LTSC チャネルのサポートが終了すると、それ以上のセキュリティ更新プログラムはリリースされず、レイアウトとクライアントは安全になりません。 さまざまな Visual Studio 2022 チャネルのサポート日については、を参照してください。
レイアウトの基になっているチャネルを変更するには、Visual Studio 2022 リリース履歴 ページ から目的のチャネルのブートストラップを取得し、レイアウト フォルダーにコピーして、通常の更新を実行します。 その後、クライアントにもセキュリティで保護されるように、更新プログラムの通知を適切に受け取る必要があります。
レイアウトの内容を変更する
部分的なレイアウトを変更し、 ワークロード、コンポーネント、または言語を追加できます。 レイアウトからコンポーネントを確実に削除することは不可能です。
次の例では、Azure ワークロードとローカライズされた言語を、Managed Desktop ワークロードと英語だけで作成したレイアウトに追加します。 変更が完了すると、Managed Desktop と Azure の両方のワークロードと、英語とドイツ語の両方のリソースがこのレイアウトに含まれます。 コンポーネントの追加に加えて、--layout
コマンドによって、ブートストラップによって指定されたバージョンにレイアウトが更新されます。 そのため、エバーグリーンブートストラッパーを使用している場合、結果のレイアウトには新しいコンポーネントと新しい言語が含まれ、すべてのレイアウトコンテンツがブートストラッパーのチャネルの最新バージョンに更新されます。
vs_enterprise.exe --layout c:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --lang de-DE
既存の部分レイアウトを完全なレイアウトになるように変更する場合は、次の例に示すように --all オプションを使用します。 ここでも、このコマンドにより、レイアウトの内容がブートストラップによって指定されたバージョンに更新されます。
vs_enterprise.exe --layout c:\VSLayout --all
レイアウトに必要な追加コンポーネントを含む *.vsconfig
ファイルを渡すことで、レイアウトにコンポーネントを追加できます。 これを行うと、新しい *.vsconfig
コンテンツによって既存の layout.vsconfig
コンテンツが上書きされます。 詳細については、前のセクション「構成ファイルを使用してレイアウトの内容を初期化する」を参照してください。
vs_enterprise.exe --layout C:\VSLayout --config "C:\myupdatedconfig.vsconfig"
最後に、レイアウト フォルダー内の layout.json
構成ファイルを直接編集し、このファイルの "追加" セクションを更新して、レイアウトに含める追加のコンポーネントを含めることができます。 その後、前に説明したように、--layout
を使用してレイアウトを更新して、最新のコンポーネントをダウンロードする必要があります。
手記
新しく追加されたレイアウト コンポーネントをクライアント コンピューターにインストールする最も簡単な方法は、クライアント コンピューターからレイアウトでブートストラップを実行することです。 レイアウト内の response.json
ファイルの 'add' セクションによって、クライアントのインストーラー UI で既定で選択されるコンポーネントが決まります。 上記のいずれかの方法を使用してレイアウトを変更した場合は、新しく変更した layout.json
ファイルの [追加] セクションの内容とより適切に一致するように、response.json
ファイルの [追加] セクションを手動で再確認し、調整することができます。
クライアント コンピューターでサポート外のコンポーネントを削除するようにレイアウトを構成します。
一部の企業では、サポート外の状態に移行したコンポーネントを削除する Visual Studio 2022 バージョン 17.4 で導入された機能を利用したいと考えています。 レイアウトを管理していて、クライアントが管理者の更新プログラムを受け取っている場合は、比較的簡単に設定できます。 まず、後で説明するように最新バージョンのインストーラーを含むようにレイアウトを構成する必要があります。 次に、response.json
ファイルに行 "removeOos": true
を追加する必要があります。 レイアウトにこれら 2 つの詳細が正しく設定されている場合、以降の管理者の更新ではこの設定が適用され、サポート対象外のコンポーネントがクライアント コンピューターから削除されます。
レイアウトを確認する
--verify
を使用して、パッケージ ファイルが見つからないか無効かをチェックするネットワーク レイアウトで検証を実行します。 検証の最後に、見つからないファイルと無効なファイルの一覧が出力されます。
検証は、特定のマイナー バージョンの Visual Studio の最新バージョンに対してのみ機能します。 新しいバージョンがリリースされるとすぐに、以前のリリースを含むレイアウトでは検証は機能しません。
vs_enterprise.exe --layout <layoutDir> --verify
手記
--verify
オプションで必要な重要なメタデータ ファイルの一部は、レイアウト フォルダーに含まれている必要があります。 これらのメタデータ ファイルが見つからない場合は、"--verify" を実行できず、セットアップでエラーが発生します。 このエラーが発生した場合は、レイアウトをもう一度更新するか、別のフォルダーに新しいネットワーク レイアウトを再作成してください。
Microsoft は Visual Studio に定期的に更新プログラムを出荷するので、常緑ブートストラップを使用している場合は、新しいレイアウトに初期レイアウトと同じバージョンが含まれていない可能性があります。 ただし、固定リンク ブートストラップを使用すると、(ほぼ) 常に確定的なファイル セットが取得されます。
レイアウトを修正する
--fix
を使用して、--verify
と同じ検証を実行し、特定された問題の修正も試みます。 --fix
プロセスにはインターネット接続が必要であるため、--fix
を呼び出す前に、コンピューターがインターネットに接続されていることを確認してください。
vs_enterprise.exe --layout <layoutDir> --fix
レイアウトから古いバージョンを削除する
ネットワーク キャッシュに対してレイアウトの更新を実行した後、レイアウト フォルダーには、Visual Studio の最新のインストールで不要になった古いパッケージが含まれている場合があります。 --clean
オプションを使用すると、ネットワーク レイアウト フォルダーから古いパッケージを削除できます。
これを行うには、古いパッケージを含むカタログ マニフェストへのファイル パスが必要です。 カタログ マニフェストは、ネットワーク レイアウト キャッシュの "アーカイブ" フォルダーにあります。 レイアウトを更新すると、そこに保存されます。 "アーカイブ" フォルダーには、1 つ以上の "GUID" という名前のフォルダーがあり、それぞれに古いカタログ マニフェストが含まれています。 "GUID" フォルダーの数は、レイアウトに対して行われた更新の数と同じである必要があります。
各 "GUID" フォルダー内にいくつかのファイルが保存されます。 最も関心のある2つのファイルは"catalog.json"ファイルと"version.txt"ファイルです。 "catalog.json" ファイルは、--clean
オプションに渡す必要がある古いカタログ マニフェストです。 もう 1 つの version.txt ファイルには、この古いカタログ マニフェストのバージョンが含まれています。 バージョン番号に基づいて、このカタログ マニフェストから古いパッケージを削除するかどうかを決定できます。 他の「GUID」フォルダーを確認しながら、同じ操作を実行できます。 クリーンアップするカタログを決定したら、これらのカタログへのファイル パスを指定して、--clean
コマンドを実行します。
--clean オプションを使用する方法の例を次に示します。
c:\VSLayout\vs_enterprise.exe --layout c:\VSLayout --clean c:\VSLayout\Archive\1cd70189-fc55-4583-8ad8-a2711e928325\Catalog.json --clean c:\VSLayout\Archive\d420889f-6aad-4ba4-99e4-ed7833795a10\Catalog.json
このコマンドを実行すると、セットアップによってネットワーク レイアウト フォルダーが分析され、削除されるファイルの一覧が見つかります。 その後、削除されるファイルを確認し、削除を確認する機会があります。
常に最新のインストーラーを含め、提供するようにレイアウトを構成する
手記
2023 年 6 月の時点で、最新のインストーラーは、サポートされているバージョンの Visual Studio 2017、Visual Studio 2019、Visual Studio 2022 に対するすべての更新プログラムに既定で付属しています。 そのため、最新の機能とバグ修正を含む最新バージョンのインストーラーをレイアウトやクライアントに取得するために、明示的に何もする必要はありません。
ただし、2023 年 6 月より前に作成されたレイアウトをお使いの場合は、インストーラーがより新しいバージョンの Visual Studio の一部であると見なされる場合でも、"常に" 最新のインストーラーを組み込んでクライアントに提供するよう、レイアウトを明示的に構成することもできます。 したがって、クライアントがこのレイアウトから更新されると、クライアントはこのレイアウトに含まれて提供される最新のインストーラーを取得します。 利点は、最新のインストーラーがクライアントにインストールされると、クライアントのインストールでバグ修正と、インストーラーに引き続き追加する新機能を利用できることです。
ヒント
クライアントの Visual Studio 2019 のインストールで更新プログラムが 検索される場所を 変更する場合、またはサポート外のすべてのコンポーネントを削除する場合は、クライアント コンピューターで最新の Visual Studio 2022 インストーラーを取得 必要があります。 これを行う 1 つの方法は、以下で説明するパラメーターを使用して、Visual Studio 2019 レイアウト内に Visual Studio 2022 インストーラーを含める方法です。 最新のインストーラーを使用する機能は、Visual Studio 2022 が最初に出荷された後にビルドされた Visual Studio 2019 ブートストラップでのみ使用できます。 そのため、次の例の vs_enterprise.exe は、2021 年 11 月 10 日 "より後" に出荷されたバージョンである必要があります。
レイアウトで最新のインストーラーを組み込んで提供できるようにするには、いくつかの方法があります。
2023 年 6 月以降にビルドされた Visual Studio のバージョンを使用できます。
レイアウトを作成または更新するときに、
--useLatestInstaller
パラメーターをブートストラップに渡すことができます。 これにより、レイアウトのルート ディレクトリにあるlayout.json
ファイルで設定が行われます。 レイアウトを更新し、利用可能な最新かつ最高のインストーラーを使用するように構成する方法の例を次に示します。vs_enterprise.exe --layout C:\VSLayout --useLatestInstaller
layout.json
ファイルを直接編集して、この設定を追加できます。{ "installChannelUri": ".\\ChannelManifest.json", "channelUri": "\\\\server\\share\\layoutdirectory\\ChannelManifest.json", "installCatalogUri": ".\\Catalog.json", "channelId": "VisualStudio.16.Release", "productId": "Microsoft.VisualStudio.Product.Enterprise", "useLatestInstaller": true, "removeOos": true }
layout.json
ファイル内のこの設定をプログラムで削除することはできません。そのため、Microsoft が提供する最新のインストーラーをレイアウトで 使用することを "停止" し、代わりにブートストラップ ローダーに対応するバージョンのインストーラー (ほとんどの場合は最新のインストーラーよりも古い) を使用する場合は、layout.json
ファイルを編集して "UseLatestInstaller": true
の設定を削除してください。
レイアウトの response.json
ファイルでもこの "UseLatestInstaller": true
設定が見つかる場合がありますが、レイアウトに常に最新のインストーラーがあることを確認するため、この設定は無視されることに注意してください。 response.json ファイルは、クライアントがレイアウトからインストールまたは更新するときに、クライアント で既定の構成オプションを設定するために使用されます。 layout.json
ファイル内のこの特定の "useLatestInstaller": true
設定は、レイアウトの内容 最新のインストーラーが含まれていることを確認するために使用され、クライアント コンピューターがレイアウトから最新のインストーラーを取得できるようにします。
エラー コード
--wait
パラメーターを使用した場合、操作の結果に応じて、%ERRORLEVEL%
環境変数は次のいずれかの値に設定されます。
値 | 結果 |
---|---|
0 | 操作が正常に完了しました |
740 | 昇格が必要 |
1001 | Visual Studio インストーラー プロセスが実行されている |
1003 | Visual Studio が使用中です |
1602 | 操作が取り消されました |
1618 | 実行中の別のインストール |
1641 | 操作が正常に完了し、再起動が開始されました |
3010 | 操作は正常に完了しましたが、インストールを使用するには再起動が必要です |
5003 | ブートストラップがインストーラーをダウンロードできませんでした |
5004 | 操作が取り消されました |
5005 | Bootstrapper コマンド ライン解析エラー |
5007 | 操作がブロックされました - コンピューターが要件を満たしていません |
8001 | Arm マシン チェックの失敗 |
8002 | バックグラウンド ダウンロードの事前チェックに失敗しました |
8003 | サポート対象外の選択可能なエラー |
8004 | ターゲット ディレクトリのエラー |
8005 | ソース ペイロードのエラーの確認 |
8006 | 実行中の Visual Studio プロセス |
8010 | オペレーティング システムはサポートされていません。 システム要件の を参照してください。 |
-1073720687 | 接続エラー |
-1073741510 | Microsoft Visual Studio インストーラーが終了しました (ユーザーまたは外部プロセスによって) |
その他 (例: -1、1、1603) |
エラー状態が発生しました - ログで詳細を確認する |
ネットワーク レイアウトのサポートを受ける
ネットワーク レイアウトに問題が発生した場合は、そのことを確認する必要があります。 私たちに伝える最善の方法は、Visual Studio インストーラーと Visual Studio IDE の両方に表示される 問題の報告 ツールを使用することです。 IT 管理者であり、Visual Studio がインストールされていない場合は、で IT 管理者フィードバック送信できます。 このツールを使用する場合は、問題の診断と修正に役立つ Visual Studio Collect ツール でログを送信できると非常に役立ちます。
また、インストール関連の問題に対する インストール チャット (英語のみ) のサポート オプションも提供しています。
その他のサポート オプションも用意されています。 Visual Studio Developer Communityをご覧ください。
関連コンテンツ
- Visual Studio 管理者ガイド
- レイアウトからクライアント コンピューターに Visual Studio を展開
- Visual Studio のネットワーク ベースのインストールを更新する
- Visual Studio をインストールまたは使用するときのネットワーク関連エラーのトラブルシューティング
- Visual Studio のエンタープライズ 展開のポリシーを構成する
- Visual Studio 製品のライフサイクルとサービス
- コマンドライン パラメーターを使用して Visual Studio をインストールする
- Visual Studio のワークロードとコンポーネントの ID
- Visual Studio のオフライン インストール に必要な証明書のインストール