設定 Visual Studio 企業部署的原則

您可以透過原則設定 Visual Studio 部署和更新行為的某些層面。 有些設定是 Visual Studio 已安裝的執行個體所特有,有些設定可以是全域設定,並套用至用戶端電腦上所有 Visual Studio 執行個體。 您可以設定下列項目:

  • 是否允許沒有系統管理員權限的使用者更新或修改 Visual Studio
  • 是否應從電腦移除不支援的元件
  • 與其他版本或執行個體共用之某些套件安裝的位置
  • 快取套件的位置和是否快取
  • 是否應啟用系統管理員更新以及如何套用更新
  • 哪些更新通道可供使用,以及它們如何呈現給用戶端
  • 通知顯示或不顯示的方式

使用 Microsoft Intune 設定目錄或將 Visual Studio 管理員範本 (ADMX) 匯入到群組原則編輯器等舊版工具中,在整個組織中設定和部署全域電腦原則。 您也可以直接在用戶端電腦上設定登錄值。 每個執行個體的行為通常是透過使用用戶端電腦上的命令列選項來控制。

登錄機碼

登錄中有數個位置,您可以在其中設定這些原則。 Visual Studio 會依以下順序循序查看是否設定了任何企業原則。 一旦探索到原則值,就會忽略其餘的索引鍵。

  1. HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\VisualStudio\Setup
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup
  3. HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\Setup (64 位元作業系統)

如果尚未設定,某些登錄值會在第一次使用時自動設定。 這種做法可確保後續安裝會使用相同的值。 這些值會儲存在第二個登錄機碼 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup 中。

您可以設定下列登錄值:

控制安裝、下載和更新行為

本節中的登錄設定可控制將 Visual Studio 產品下載並安裝到用戶端電腦的方式和位置。

名稱 類型 Default 說明
AllowStandardUserControl REG_DWORD 0 允許沒有管理員權限的使用者使用安裝程式 UI 手動管理其 Visual Studio 安裝:如果設定為 1,沒有管理員權限的使用者可以手動更新或復原更新,而無需提供管理員密碼。 如果設定為 2,則沒有管理員權限的使用者可以手動使用 Visual Studio 安裝程式中的所有功能,包括可用索引標籤中的修改安裝。無論此原則設定為何,標準使用者都無法使用 --passive--quiet 參數以程式設計方式執行任何 Visual Studio 安裝程式命令。 此原則要求在用戶端電腦上安裝最新版本的 Visual Studio 2022 安裝程式。
CachePath REG_SZREG_EXPAND_SZ %ProgramData%
\Microsoft
\VisualStudio
\Packages
套件資訊清單和承載快取路徑:Visual Studio 安裝程式會針對此儲存體快取目錄的路徑強制執行 50 個字元的限制。 如需詳細資訊,請參閱停用或移動套件快取頁面
KeepDownloadedPayloads REG_DWORD 1 安裝後保留套件承載:停用原則會移除您修復或修改之執行個體的任何已快取套件承載。 您可以隨時變更該值。 如需詳細資訊,請參閱停用或移動套件快取頁面。
SharedInstallationPath REG_SZREG_EXPAND_SZ %ProgramFiles(x86)%
Microsoft Visual Studio
\Shared
共用安裝路徑:在各個 Visual Studio 執行個體版本上共用之某些套件的安裝目錄。 您可以隨時變更該值,但這只會影響未來的安裝。 任何已安裝在舊位置的產品都不得移動,否則可能無法正常運作。 Visual Studio 安裝程式會針對路徑強制執行 150 個字元的限制。
BackgroundDownloadDisabled REG_DWORD 0 自動停用下載更新:如果設定為 1,則會防止安裝程式自動下載所有已安裝 Visual Studio 產品的更新。 您可以隨時變更該值。
RemoveOos REG_DWORD 0 在更新期間移除支援終止元件:如果設定為 1,則 Visual Studio 安裝程式將會移除所有在後續更新期間已轉換為支援終止狀態的已安裝元件。 如果設定為 0 或完全遺漏,則 removeOos 行為會遵守其他可設定此設定的位置,例如命令列參數或 [更新設定] 對話方塊。 如需詳細資訊,請參閱 移除支援終止元件部落格文章。 此功能需要在用戶端電腦上安裝 Visual Studio 2022 17.4 版安裝程式。
DisableRollback REG_DWORD 0 停用復原或復原 Visual Studio 更新的功能:如果設定為 1,則會防止使用者存取復原功能,這會防止 Visual Studio 還原可能包含安全性修正程式的最新更新。 如果設定為 0 或完全遺漏,則使用者能夠存取 Visual Studio 中的復原功能,而且能夠復原更新,並將 Visual Studio 執行個體復原至先前已安裝的版本。 如需詳細資訊,請參閱復原部落格文章
HideAvailableTab REG_DWORD 0 隱藏安裝程式的 [可供使用] 索引標籤:如果設定為 1,則系統管理員能夠隱藏安裝程式的 [可供使用] 索引標籤,以防止組織內的使用者意外安裝錯誤的產品。
DisableSound REG_DWORD 0 停用安裝程式中的音效:如果設定為 1,則使用者將能夠停用 Visual Studio 安裝程式中的音效,這會在安裝程式作業完成或發生錯誤時防止任何音訊提示。 安裝程式作業包括安裝、更新、修改和完成許多其他作業,或在嘗試要求作業時的任何錯誤對話方塊。 如果設定為 0 或完全遺漏,則使用者能夠重新啟用安裝程式中的音效。 如需詳細資訊,請參閱 DisableSound 部落格文章

重要

如果在任何安裝之後變更 CachePath 登錄原則,則必須將現有的套件快取移至新位置,並確定它受到保護,讓 SYSTEMAdministrators 都具有完全控制權限,而 Everyone 具有讀取權限。 無法移動或保護現有的快取,日後安裝可能會發生問題。

控制系統管理員更新

本節中的登錄設定可控制系統管理員更新是否已套用至用戶端電腦以及套用方法。

名稱 類型 Default 說明
AdministratorUpdatesEnabled REG_DWORD 0 啟用系統管理員更新:允許將系統管理員更新套用至用戶端電腦。 如果遺漏此值或設定為 0,系統會封鎖系統管理員更新。 值為 1 可讓用戶端電腦可使用透過 WSUS/SCCM 通道部署的更新。 建議值為 2 可讓用戶端電腦接收透過 WSUS/SCCM 通道或商務用 Windows Update/Intune/Microsoft 端點管理員通道所部署的更新。 此登錄機碼適用於系統管理員使用者。 如需詳細資訊,請參閱啟用系統管理員更新
AdministratorUpdatesNotifications REG_DWORD 0 可讓系統管理員通知使用者關閉 Visual Studio 以解除封鎖系統管理員更新:如果 Visual Studio 已開啟或使用中,系統管理員更新會無法套用。 藉由設定此登錄機碼,系統管理員可以引發 Windows 快顯通知提示,提示使用者關閉 Visual Studio 並儲存其工作,以便套用擱置的更新。 此登錄機碼適用於系統管理員使用者。 如需詳細資訊,請參閱部落格貼文公告
AdministratorUpdatesOptOut REG_DWORD 0 退出系統管理員更新:指出使用者不想接收 Visual Studio 的系統管理員更新。 缺少登錄值或設定值為 0,表示 Visual Studio 使用者想要接收 Visual Studio 的系統管理員更新。 此原則可讓開發人員使用者設定他們在用戶端電腦上是否有系統管理員權限。

編碼使用者喜好設定的 AdministratorUpdatesOptOut 機碼優先於對 IT 系統管理員意圖進行編碼的 AdministratorUpdatesEnabled 機碼。 如果 AdministratorUpdatesOptOut 設定為 1,即使 AdministratorUpdatesEnabled 機碼也設定為 1,用戶端也會封鎖更新。 此動作假設 IT 系統管理員可以存取和監視哪些開發人員選擇退出。雙方可以討論誰的需求較重要。 IT 系統管理員可以隨時變更任一機碼。
UpdateConfigurationFile REG_SZREG_EXPAND_SZ %ProgramData%
\Microsoft
\VisualStudio
\updates.config
更新設定檔的自訂路徑:用戶端上可用來設定系統管理更新的檔案路徑。 根據預設,此檔案不存在且未設定原則。 如果您選擇將原則新增至用戶端電腦並定義自訂組態檔位置,則管理員更新將尋找此檔案。 如果檔案不存在,則會擲回例外狀況,而更新會失敗。 如需詳細資訊,請參閱設定系統管理員更新的方法

重要

由 Intune 管理的雲端連線用戶端電腦必須設定商務用於 Windows Update,並選擇加入 [啟用其他 Microsoft 產品的更新] 以便透過商務用 Windows Update Microsoft Update 通道接收 Visual Studio 管理員更新。

設定更新的來源位置

本節中的設定可讓系統管理員自訂及控制哪些更新通道可供使用,以及它們如何向企業組織中的用戶端顯示。 如需更新設定為何及其運作方式的相關資訊,請參閱 更新的設定來源位置文件。 這項功能需要用戶端使用 Visual Studio 2022 安裝程式,而且配置必須使用 2019 啟動載入器版本,該版本隨附於 2021 年 11 月 10 日或之後。 如需指引,請參閱如何透過 Visual Studio 2019 配置,在用戶端電腦上取得 Visual Studio 2022 安裝程式文件。

本節中的機碼僅套用至 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup 登錄路徑

名稱 類型 說明
Channels Key 用來儲存自訂配置通道資訊的子機碼路徑。 此機碼的名稱會被視為通道名稱,且會顯示在更新通道下拉式清單中。 ChannelURI 值必須存在於 Channels 子機碼底下。
DisabledChannels Key 隱藏通道的子機碼路徑,並防止它們顯示在 [更新通道] 對話方塊中。 如果通道在這裡定義 (以及 ChannelURI 值),則會從對話方塊被篩選掉。
ChannelURI REG_SZ 若要新增至更新通道值清單的 channelURI,方法是新增至 Channels Hive,或藉由新增至 DisabledChannels 登錄 Hive 來隱藏更新通道清單。 針對 Microsoft 裝載的通道,channelURI 為 https://aka.ms/vs/16/release/channelhttps://aka.ms/vs/16/pre/channel。 針對配置,此值必須指向配置的 ChannelManifest.json。 請參閱範例。
Description REG_SZ 通道的兩行自訂描述。 如果您已經從配置安裝,則更新設定 UI 預設為「私人通道」,您可以使用此描述加以變更。

一些登錄檔案範例,說明 IT 系統管理員如何自訂 更新設定 UI

第一個登錄範例可用於用戶端先前從位於 \\vslayoutserver3\vs\2019_Enterprise 網路配置安裝的情況。 如先前所述,Visual Studio 會將此配置的通道名稱預設為「私人通道」。 以下是自訂此配置通道名稱和描述的方式。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels\More meaningful name of my existing layout]
"channelUri"="\\\\vslayoutserver3\\vs\\2019_Enterprise\\ChannelManifest.json"
"Description"="Dev Tools based on VS 2019 16.9.Spring.2020 servicing baseline"

以下說明如何為作為更新來源的其他自訂更新通道新增更多配置項目,以及如何隱藏預覽通道的顯示。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels\Spring 2021 dev toolset]
"channelUri"="\\\\new2019layoutserver\\share\\new2019layout\\ChannelManifest.json"
"Description"="Dev Tools based on VS 2019 16.11.Spring.2021 servicing baseline"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels\Next gen dev tools using VS 2022 toolset]
"channelUri"="\\\\vs2022Layoutserver\\share\\2022Enterprise\\ChannelManifest.json"
"Description"="Developer Tools based on the VS 2022 17.0.Winter.2021 LSTC servicing baseline"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\DisabledChannels\Preview]
"channelUri"="https://aka.ms/vs/16/pre/channel"

控制 Visual Studio IDE 中的通知

如上所述,Visual Studio 會檢查其安裝來源位置 (例如,網路共用或網際網路),以查看是否有任何可用的更新。 有可用更新時,Visual Studio 會使用視窗右下角的通知圖示通知使用者。

Visual Studio IDE 中的通知圖示

如果您不想要通知終端使用者有可用的更新,則可以停用通知。 (例如,如果您透過中央軟體散發機制提供更新,則可能會想要停用通知)。

因為 Visual Studio 2019 將登錄項目儲存在私人登錄中,所以您不能以一般方式直接編輯登錄。 不過,Visual Studio 包含 vsregedit.exe 公用程式,讓您可用來變更 Visual Studio 設定。 您可以使用下列命令來關閉通知:

vsregedit.exe set "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 0

您可以使用下列命令重新開啟通知:

vsregedit.exe set "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 1

若要回到預設行為,您也可以使用下列命令來刪除值:

vsregedit.exe remove "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override

執行命令以變更 Visual Studio 設定之後,請啟動 Visual Studio。 在 Visual Studio 關閉並重新啟動之前,任何已執行的 Visual Studio 執行個體都不會變更行為。 另一個選項是,您可以重新啟動電腦,以確保設定生效。

您可以使用下列命令來確認設定:

vsregedit.exe read "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword

如果值不存在 (預設條件),則上一個命令會表示無法讀取值。 如果您設定值,則上一個命令會反映 Visual Studio 組態中的值 (它會指出 0 或 1,或它設定為的任何值 – 僅預期 0 或 1)。

因為 Visual Studio 2022 將登錄項目儲存在私人登錄中,所以您不能以一般方式直接編輯登錄。 不過,Visual Studio 包含 vsregedit.exe 公用程式,讓您可用來變更 Visual Studio 設定。 您可以使用下列命令來關閉通知:

vsregedit.exe set "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 0

您可以使用下列命令重新開啟通知:

vsregedit.exe set "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 1

若要回到預設行為,您也可以使用下列命令來刪除值:

vsregedit.exe remove "c:\Program Files\Microsoft Visual Studio\2022\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override

執行命令以變更 Visual Studio 設定之後,請啟動 Visual Studio。 在 Visual Studio 關閉並重新啟動之前,任何已執行的 Visual Studio 執行個體都不會變更行為。 另一個選項是,您可以重新啟動電腦,以確保設定生效。

您可以使用下列命令來確認設定:

vsregedit.exe read "c:\Program Files\Microsoft Visual Studio\2022\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword

如果值不存在 (預設條件),則上一個命令會表示無法讀取值。 如果您設定值,則上一個命令會反映 Visual Studio 組態中的值 (它會指出 0 或 1,或它設定為的任何值 – 僅預期 0 或 1)。

(請務必取代符合您想要編輯之已安裝執行個體的目錄)。

提示

使用 vswhere.exe 可尋找用戶端工作站上特定的 Visual Studio 執行個體。

支援或疑難排解

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

以下是一些支援選項: