応答ファイルの設定を定義する方法

管理者は Visual Studio を展開するとき、--in パラメーターを利用して応答ファイルを指定できます。たとえば、次のようになります。

vs_enterprise.exe --in customInstall.json

応答ファイルは、その内容がコマンド ライン引数を反映する JSON ファイルです。 一般的に、コマンド ライン パラメーターが引数を取らない場合 (--quiet--passive など)、応答ファイルの値は true/false にしてください。 引数を取る場合 (--installPath <dir> など)、応答ファイルの値は文字列にしてください。 引数を取り、コマンド ラインに何回も出てくる場合 (--add <id> など)、文字列の配列にしてください。

コマンド ラインに指定されているパラメーターは、応答ファイルの設定より優先されます。ただし、パラメーターが複数の入力値を取り (--add など)、コマンド ラインに入力された値が応答ファイルの設定と結合される場合を除きます。

Visual Studio の既定構成を設定する

--layout でネットワーク レイアウト キャッシュを作成した場合、最初の response.json ファイルがレイアウトで作成されます。

レイアウトを作成する管理者はレイアウトの response.json ファイルを変更することで、ユーザーがレイアウトから Visual Studio をインストールするときに表示される既定の設定を制御できます。 たとえば、管理者が特定のワークロードとコンポーネントを既定でインストールする場合、それらを追加するように response.json ファイルを構成できます。

Visual Studio セットアップをレイアウト フォルダーから実行すると、レイアウト フォルダーの応答ファイルが_自動的に_使用されます。 --in オプションの使用は必須ではありません。

オフライン レイアウト フォルダーで作成された response.json ファイルを更新することで、このレイアウトからインストールするユーザーの既定設定を定義できます。 ただし、レイアウトが作成されたときに定義された既存プロパティをそのままにすることが重要です。

レイアウトの基本 response.json ファイルはこれと似ていますが、値はインストールする製品またはチャネルのものになります。

{
  "installChannelUri": ".\\ChannelManifest.json",
  "channelUri": "https://aka.ms/vs/15/release/channel",
  "installCatalogUri": ".\\Catalog.json",
  "channelId": "VisualStudio.15.Release",
  "productId": "Microsoft.VisualStudio.Product.Enterprise"
}

レイアウト応答ファイルの内容の例

この例では、Visual Studio Enterprise、6 つの共通ワークロード、コンポーネントがインストールされます。UI 言語として英語とフランス語の両方がインストールされます。 これをテンプレートとして利用できます。ワークロードとコンポーネントを自分がインストールするものに変更してください。

{
  "installChannelUri": ".\\ChannelManifest.json",
  "channelUri": "https://aka.ms/vs/15/release/channel",
  "installCatalogUri": ".\\Catalog.json",
  "channelId": "VisualStudio.15.Release",
  "productId": "Microsoft.VisualStudio.Product.Enterprise",

  "installPath": "C:\\VS2017",
  "quiet": false,
  "passive": false,
  "includeRecommended": true,
  "norestart": false,

  "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"
    ]
}

関連項目