共用方式為


設定 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產品下載並安裝到用戶端電腦的方式和位置。

名稱 類型 預設 描述
AllowStandardUserControl REG_DWORD 0 允許使用者在沒有系統管理員許可權的情況下,使用安裝程式 UI手動管理其 Visual Studio 安裝:如果設定為 1,沒有系統管理員許可權的使用者可以手動更新或回復更新,而不需要提供系統管理員密碼。 如果設定為 2,沒有系統管理員許可權的使用者可以手動使用 Visual Studio 安裝程式中的所有功能,包括 修改,以及從 [可用] 標籤 安裝。標準使用者無法使用 --passive--quiet 參數以程式設計方式運行任何 Visual Studio Installer 命令,無論此政策設定為什麼。 此原則需要用戶端電腦上安裝最新版的Visual Studio 2022 安裝程式。
CachePath REG_SZREG_EXPAND_SZ %ProgramData%
\Microsoft
\VisualStudio
\套件
套件指令清單和承載快取路徑:Visual Studio 安裝程式會針對此記憶體快取目錄的路徑強制執行 50 個字元的限制。 如需詳細資訊,請參閱 停用或移動套件快取 頁面
KeepDownloadedPayloads REG_DWORD 1 安裝後保留套件載荷:若停用該政策,將會移除您修復或修改的實例中的所有快取套件載荷。 您可以隨時變更值。 如需詳細資訊,請參閱 停用或移動套件快取 頁面。
SharedInstallationPath REG_SZREG_EXPAND_SZ %ProgramFiles(x86)%
\Microsoft Visual Studio
\共用
共用安裝路徑:安裝 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 擁有 讀取 存取權。 若未能移動現有的快取或保護它,可能會造成未來安裝的問題。

控制系統管理員更新

本節中的登錄設定可控制系統管理員更新是否已套用至客戶端計算機。

名稱 類型 預設 描述
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 設定 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 配置單元;若要從更新通道清單中排除,則將其新增至 DisabledChannels 登錄配置單元。 針對 Microsoft 託管的通道,channelURI 為 https://aka.ms/vs/16/release/channelhttps://aka.ms/vs/16/pre/channel。 針對版面配置,此值必須指向版面配置 ChannelManifest.json。 請參閱範例。
Description REG_SZ 通道的兩行自定義描述。 如果您已經從一個布局安裝了,更新設定的使用者介面會預設為「私人頻道」,您可以使用 [描述] 來變更它。

某些登入檔案範例展示 IT 系統管理員可能想自訂 更新設定使用者介面的方式

第一個登錄範例可用於先前從位於 \\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 包含可用來變更 Visual Studio 設定的 vsregedit.exe 公用程式。 您可以使用下列命令關閉通知:

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 包含可用來變更 Visual Studio 設定的 vsregedit.exe 公用程式。 您可以使用下列命令關閉通知:

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 安裝和升級問題的指南, 以獲得逐步指引。

以下是一些更多支援選項: