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

在這篇文章中,您將了解如何建立可協助您自動化 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 檔案。 管理員應該先適當地修改和自訂回應檔,然後再將其安裝至用戶端電腦上。 如此一來,其可以控制用戶端的初始組態設定。

只有在執行啟動載入器 (例如 vs_enterprise.exe) 時,才會參考 response.json 檔案中的組態設定。 啟動載入器通常用來在用戶端上執行初始安裝,但有時也會用來更新用戶端。 當您在用戶端本機啟動安裝程式時,永遠不會使用 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 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 用戶端安裝:

{
  "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 安裝和升級問題進行疑難排解,以取得逐步指導方針。

以下是一些支援選項: