次の方法で共有


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

この記事では、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 のインストールとアップグレードの問題のトラブルシューティング」に記載されているステップ バイ ステップ ガイドをご覧ください。

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