次の方法で共有


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

この記事では、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 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 クライアント インストールが初期化されます。

{
  "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で回答を見つけます。