使用回應檔設定安裝預設設定
在本文中,您將瞭解如何建立響應檔,以協助您自動化 Visual Studio 安裝。 最常見的用途是當您從 版面配置安裝Visual Studio時。
Visual Studio 回應檔是 JSON 檔案,其內容包含最初將 Visual Studio 安裝至用戶端期間所使用的自訂。 其內容會鏡像命令列引數和參數。 針對下列組態選項使用回應檔:
- 設定在初始安裝期間預設應選取哪些工作負載、元件或語言。
- 參考您團隊已標準化的安裝設定
*.vsconfig
檔案。 - 指定用戶端應從哪裡接收更新。 範例包括網際網路上的預設 Microsoft 裝載伺服器,或從管理員控制的網路配置位置。
- 更新期間自動刪除不支援的元件。
建立回應檔
response.json
檔案通常是在管理員建立配置時建立的,而且可以在配置的根資料夾中找到。 不過,您可以使用下列其中一個範例來建立自己的響應檔。
指定回應檔
如果系統管理員 從配置叫用啟動載入器來部署Visual Studio,則會自動使用配置根目錄中找到的響應檔。 管理員也可以選擇使用 --in
參數來明確地指定不同的回應檔,如下列範例所示:
\\server\share\layoutdirectory\vs_enterprise.exe --in custom_response_file.json
回應檔內容
回應檔封裝了 Visual Studio 安裝程式所使用的命令列參數,並遵循以下一般規則:
- 如果命令列參數未採用任何引數 (例如
--quiet
、--passive
、includeRecommended
、removeOos
、useLatestInstaller
、allowUnsignedExtensions
等),則回應檔中的值應該為 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 用戶端安裝該用戶端:
- 使用設定 *.vsconfig 檔案定義要安裝的工作負載、元件和延伸模組
- 同時選取英文和法文 UI 語言
- 設定更新位置,在 http 託管配置中尋找來源
- 允許以程式設計方式載入未簽署的延伸模組
- 拿掉在更新客戶端時轉換為不支援狀態的元件。 請在這裡參閱不支援的元件清單。
{
"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 安裝和升級問題進行疑難排解,以取得逐步指導方針。
以下是一些支援選項:
- 我們也提供安裝聊天 (僅限英文) 支援選項,可回答安裝的相關問題。
- 您可以透過 Visual Studio 安裝程式及 Visual Studio IDE 中的回報問題工具回報產品的問題。 如果您是 IT 系統管理員且未安裝 Visual Studio,您可以在這裡提交 IT 系統管理員意見反應。
- 在 Visual Studio 開發人員社群 \(英文\) 中建議功能、追蹤產品問題和尋找解答。