応答ファイルを使用してインストールの既定の設定を構成する
この記事では、Visual Studio のインストールを自動化するのに役立つ応答ファイルを作成する方法について説明します。 最も一般的な用途は、レイアウトから Visual Studio をインストールする場合です。
Visual Studio 応答ファイルは JSON ファイルであり、その内容には、Visual Studio をクライアントに最初にインストールする際に使用されるカスタマイズが含まれています。 その内容は、コマンド ラインの引数とパラメーターを反映しています。 次の構成オプションには、応答ファイルを使用します。
- 初期インストール時に既定で選択する必要があるワークロード、コンポーネント、または言語 構成します。
- チームが標準化した インストール構成
*.vsconfig
ファイル を参照します。 - クライアントがから更新プログラムを受信するを指定します。 たとえば、インターネット上の既定の Microsoft ホストサーバーや、管理者が制御するネットワーク レイアウトの場所からのサーバーなどがあります。
- 更新中にサポート外コンポーネントの自動削除。
応答ファイルの作成
response.json
ファイルは、通常、管理者 がレイアウト を作成するときに作成され、レイアウトのルート フォルダーにあります。 ただし、次のいずれかの例を使用して、独自の応答ファイルを作成できます。
応答ファイルの指定
管理者 レイアウトからブートストラップを呼び出して Visual Studio をデプロイすると、レイアウトのルート ディレクトリにある応答ファイルが自動的に使用されます。 管理者は、次の例のように、--in
パラメーターを使用して別の応答ファイルを明示的に指定することもできます。
\\server\share\layoutdirectory\vs_enterprise.exe --in custom_response_file.json
応答ファイルの内容
応答ファイルは、Visual Studio インストーラーで使用されるコマンド ライン パラメーターをカプセル化し、次の一般的な規則に従います。
- コマンド ライン パラメーターが引数 (たとえば、
--quiet
、--passive
、includeRecommended
、removeOos
、useLatestInstaller
、allowUnsignedExtensions
など) を受け取っていない場合、応答ファイルの値は true/false にする必要があります。 - パラメーターが引数 (たとえば、
--installPath <dir>
、--config <*.vsconfig file>
) を受け取る場合、応答ファイルの値は文字列である必要があります。 - パラメーターが引数を受け取り、コマンド ラインに複数回出現できる場合 (たとえば、
--add <id>
)、応答ファイルの値は文字列の配列である必要があります。
コマンド ラインで指定されたパラメーターは、パラメーターが複数の入力 (たとえば、--add
) を受け取る場合を除き、応答ファイルに含まれる設定をオーバーライドします。 複数の入力がある場合、コマンド ラインで指定された入力が応答ファイルの設定とマージされます。
レイアウトからインストールするときに使用する応答ファイルを構成する
--layout
コマンドを使用してレイアウトを作成すると、レイアウト フォルダーのルートに既定の response.json
ファイルが作成されます。 管理者は、クライアント コンピューターにインストールする "前" に、応答ファイルを適切に変更およびカスタマイズする必要があります。 こうすることで、クライアントの初期構成設定を制御できます。
response.json
ファイルの構成設定は、ブートストラップ (たとえば、vs_enterprise.exe) を実行する場合にのみ参照されます。 ブートストラップは通常、クライアントでの初期インストールを実行するために使用されますが、クライアントの更新にも使用される場合があります。 response.json
は、クライアントでインストーラーをローカルで起動するときに使用されることはありません。
管理者が部分レイアウトを作成した場合、レイアウトの既定の response.json
ファイルでは、部分レイアウトに含まれていたワークロードと言語のみが指定されます。
--config *.vsconfig
ファイルを渡してレイアウトを作成した場合、*.vsconfig
ファイルは layout.vsconfig
としてレイアウト ディレクトリにコピーされ、この構成ファイルは response.json
ファイルで参照されます。 これにより、構成ファイルを使用して、レイアウトから取得されたクライアント インストールを初期化できます。
クライアントが更新プログラムを検索する場所を構成する channelUri 設定には特に注意してください。 既定の構成では、クライアントがインターネット上の Microsoft でホストされているサーバーを調べて更新プログラムを確認します。 クライアントがレイアウトから更新を取得したい場合は、channelUri の値を変更して、レイアウトを指し示す必要があります。 これを行う方法の例については、以下 詳しく説明します。 クライアントでインストーラーを実行し、modifySettings
コマンドを呼び出 することで、クライアントが今後更新プログラムを検索する場所をいつでも変更できます。
クライアント インストールが --quiet
または --passive
モードを使用して実行されていない場合、ユーザーは response.json
で指定された既定値をオーバーライドし、インストールする追加のワークロードとコンポーネントをさらに選択または選択解除できます。
警告
一部の項目はインストールに必要なので、レイアウトの作成時に定義された response.json
のプロパティを編集するときは十分注意してください。
レイアウト内の基本 response.json
ファイルは次の例のようになります。ただし、productID はレイアウトにエディションを反映します。
{
"installChannelUri": ".\\ChannelManifest.json",
"channelUri": "https://aka.ms/vs/16/release/channel",
"installCatalogUri": ".\\Catalog.json",
"channelId": "VisualStudio.16.Release",
"productId": "Microsoft.VisualStudio.Product.Enterprise"
}
{
"installChannelUri": ".\\ChannelManifest.json",
"channelUri": "https://aka.ms/vs/17/release/channel",
"installCatalogUri": ".\\Catalog.json",
"channelId": "VisualStudio.17.Release",
"productId": "Microsoft.VisualStudio.Product.Enterprise"
}
{
"installChannelUri": ".\\ChannelManifest.json",
"channelUri": "https://aka.ms/vs/17/release.ltsc.17.0/channel",
"installCatalogUri": ".\\Catalog.json",
"channelId": "VisualStudio.17.Release.LTSC.17.0",
"productId": "Microsoft.VisualStudio.Product.Enterprise"
}
レイアウトを作成または更新すると、response.template.json ファイルも作成されます。 このファイルには、使用できるすべてのワークロード、コンポーネント、および言語 ID が含まれています。 このファイルは、カスタム インストールに含めることができるすべてのテンプレートとして提供されます。 管理者は、このファイルをカスタム応答ファイルの開始点として使用できます。 インストールしたくないものを ID を削除して、response.json
ファイルまたは独自の応答ファイルに保存するだけです。 response.template.json ファイルをカスタマイズしないでください。レイアウトが更新されるたびに変更が失われます。
カスタマイズされたレイアウト応答ファイルのコンテンツの例
次の response.json
ファイルの例では、Visual Studio Enterprise クライアント インストールを初期化して、いくつかの一般的なワークロードとコンポーネントを選択し、英語とフランス語の両方の UI 言語を選択し、ネットワークでホストされるレイアウト内のソースを検索するように更新場所を構成します。 Visual Studio 2019 の場合、更新プログラムの場所 (channelUri) は初期インストール時にのみ構成でき、最新のインストーラーで機能を使用 場合を除き、ファクト の後に変更することはできません。 これを構成する方法については、「Visual Studio のエンタープライズ 展開用のポリシーを構成する」および「レイアウトを常に含めて、最新のインストーラー を提供するように構成する」を参照してください。
{
"installChannelUri": ".\\ChannelManifest.json",
"channelUri": "\\\\server\\share\\layoutdirectory\\ChannelManifest.json",
"installCatalogUri": ".\\Catalog.json",
"channelId": "VisualStudio.16.Release",
"productId": "Microsoft.VisualStudio.Product.Enterprise",
"installPath": "C:\\VS2019",
"quiet": false,
"passive": false,
"includeRecommended": true,
"norestart": false,
"useLatestInstaller": true,
"removeOos": true,
"addProductLang": [
"en-US",
"fr-FR"
],
"add": [
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.Data",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.NetWeb",
"Microsoft.VisualStudio.Workload.Office",
"Microsoft.VisualStudio.Workload.Universal",
"Component.GitHub.VisualStudio"
]
}
次の response.json
ファイルの例では、Visual Studio Enterprise クライアント インストールを初期化して、いくつかの一般的なワークロードとコンポーネントを選択し、英語とフランス語の両方の UI 言語を選択し、ネットワークでホストされるレイアウト内のソースを検索するように更新場所を構成します。 これを構成する方法については、「Visual Studio のエンタープライズ 展開用のポリシーを構成する」および「レイアウトを常に含めて、最新のインストーラー を提供するように構成する」を参照してください。
{
"installChannelUri": ".\\ChannelManifest.json",
"channelUri": "\\\\server\\share\\layoutdirectory\\ChannelManifest.json",
"installCatalogUri": ".\\Catalog.json",
"channelId": "VisualStudio.17.Release",
"productId": "Microsoft.VisualStudio.Product.Enterprise",
"installPath": "C:\\VS2022",
"quiet": false,
"passive": false,
"includeRecommended": true,
"norestart": false,
"useLatestInstaller": true,
"removeOos": true,
"addProductLang": [
"en-US",
"fr-FR"
],
"add": [
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.Data",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.NetWeb",
"Microsoft.VisualStudio.Workload.Office",
"Microsoft.VisualStudio.Workload.Universal",
"Component.GitHub.VisualStudio"
]
}
次の例では、response.json
ファイルによって、次の Visual Studio Enterprise クライアント インストールが初期化されます。
- インストールするワークロード、コンポーネント、拡張機能を定義する構成 *.vsconfig ファイルを使用
- 英語とフランス語の両方の UI 言語を選択します
- http でホストされるレイアウト でソースを検索するように、 の更新場所を構成します
- 署名されていない拡張機能のプログラムによる読み込みを許可する
- クライアントの更新時にサポート対象外状態に遷移したコンポーネントを削除します。 サポート外コンポーネントの一覧については、こちら参照してください。
{
"installChannelUri": ".\\ChannelManifest.json",
"channelUri": "http://MyCompanyIntranetSite/VS2022Enterprise/ChannelManifest.json",
"installCatalogUri": ".\\Catalog.json",
"channelId": "VisualStudio.17.Release",
"productId": "Microsoft.VisualStudio.Product.Enterprise",
"arch": "x64",
"config": ".\\Layout.vsconfig"
"installPath": "C:\\VS2022",
"quiet": false,
"passive": false,
"includeRecommended": true,
"norestart": false,
"useLatestInstaller": true,
"removeOos": true,
"allowUnsignedExtensions": true,
"addProductLang": [
"en-US",
"fr-FR"
]
}
警告
イントラネット Web ホストレイアウトを使用している場合は、response.json で "noWeb": true を設定して動作することを期待することはできません。 これにより、http プロトコルが無効になり、クライアントが Web サイトにアクセスできなくなります。
トラブルシューティング
Visual Studio ブートストラップを response.json
ファイルとペアリングしたときにエラーが発生する問題がある場合は、Visual Studio のインストールや使用時のネットワーク関連のエラーについてのトラブルシューティングに関する情報は、「ネットワーク関連エラーのトラブルシューティング ページ」を参照してください。
サポートまたはトラブルシューティング
場合によっては、問題が発生することがあります。 Visual Studio のインストールが失敗した場合は、「Visual Studio のインストールとアップグレードに関する問題のトラブルシューティング」 を参照して、詳細なガイダンスを参照してください。
その他のサポート オプションをいくつか次に示します。
- インストール関連の問題については、インストール チャット (英語のみ) サポート オプションを使用します。
- Visual Studio インストーラーと Visual Studio IDE の両方に表示される 問題の報告 ツールを使用して、製品の問題を報告します。 自分が IT 管理者であり、Visual Studio がインストールされていない場合は、IT 管理者フィードバックを送信できます。
- 機能を提案し、製品の問題を追跡し、Visual Studio Developer Communityで回答を見つけます。
関連コンテンツ
- Visual Studio 管理者ガイド
- Visual Studio のネットワーク インストールを作成して管理する
- レイアウトからクライアント コンピューターに Visual Studio を展開
- エンタープライズ 展開のポリシーを構成する
- Visual Studio のワークロードIDおよびコンポーネントID
- Visual Studio をインストールまたは使用するときのネットワーク関連エラーのトラブルシューティング