応答ファイルを使用してインストールの既定の設定を構成する

この記事では、Visual Studio のインストールの自動化に役立つ応答ファイルを作成する方法について説明します。 これは、レイアウトから Visual Studio をインストールするときに最も一般的に使用されます。

Visual Studio 応答ファイルは JSON ファイルであり、クライアントへの Visual Studio の初期インストール時に使用されるカスタマイズが内容に含まれています。 その内容には、コマンド ラインの引数とパラメーターが反映されます。 次の構成オプションには、応答ファイルを使用します。

応答ファイルの作成

response.json ファイルは通常、管理者がレイアウトを作成するときに作成され、レイアウトのルート フォルダーにあります。 しかし、以下のいずれかの例を使って、独自の応答ファイルを作成できます。

応答ファイルの指定

管理者がレイアウトからブートストラップを呼び出して Visual Studio を展開すると、レイアウトのルート ディレクトリにある応答ファイルが自動的に使用されます。 管理者は、次の例のように、--in パラメーターを使用して別の応答ファイルを明示的に指定することもできます。

\\server\share\layoutdirectory\vs_enterprise.exe --in custom_response_file.json

応答ファイルの内容

応答ファイルは、Visual Studio インストーラーで使用されるコマンド ライン パラメーターをカプセル化し、次の一般的な規則に従います。

  • コマンド ライン パラメーターが引数を取らない場合 (--quiet--passiveincludeRecommendedremoveOosuseLatestInstallerallowUnsignedExtensionsなど)、応答ファイルの値は 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 2019 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 2022 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 のインストールとアップグレードの問題のトラブルシューティング」に記載されているステップ バイ ステップ ガイドをご覧ください。

他のいくつかのサポート オプションを次に示します。