応答ファイルを使用してインストールの既定の設定を構成する
この記事では、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 の両方に表示される [問題の報告] ツールから、製品の問題を Microsoft に報告してください。 自分は IT 管理者であるのに、Visual Studio がインストールされていない場合は、こちらで IT 管理者フィードバックを送信できます。
- Visual Studio 開発者コミュニティで機能の提案、製品の問題の追跡、回答の検索を行うことができます。