共用方式為


使用回應檔設定安裝預設設定

在本文中,您將瞭解如何建立響應檔,以協助您自動化 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 檔案。 這個檔案會包含可使用的所有工作負載、元件和語言識別碼。 針對自訂安裝中可以包含的所有項目,會提供此檔案作為範本。 系統管理員可以使用這個檔案作為自訂回應檔的起點。 只需移除您不想要安裝的項目識別碼,並將其儲存在 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 通訊協定,並防止用戶端存取網站。

疑難排解

如果您在將 Visual Studio 啟動載入器與 response.json 檔案配對時,遇到該啟動載入器擲回錯誤的問題,請參閱在安裝或使用 Visual Studio 時針對網路相關錯誤進行疑難排解頁面,以取得詳細資訊。

支援或疑難排解

有時可能會發生一些問題。 若 Visual Studio 安裝失敗,請參閱針對 Visual Studio 安裝和升級問題進行疑難排解,以取得逐步指導方針。

以下是一些支援選項: