設定 Visual Studio 企業部署的原則
您可以透過原則設定 Visual Studio 部署和更新行為的某些層面。 其中有些組態是 Visual Studio 已安裝的實例所特有,有些組態可以是全域設定,並套用至用戶端電腦上的所有 Visual Studio 實例。 您可以設定下列各項:
- 應允許沒有系統管理員許可權的使用者更新或修改Visual Studio
- 應從計算機移除不支援的元件
- 某些與其他版本或實例共享的套件會被安裝
- 套件是否被快取以及被快取的位置
- 應啟用系統管理員更新,以及應如何套用更新
- 哪些更新通道可供使用,以及它們如何呈現給用戶端
- 通知顯示或未顯示的方式
使用 Microsoft Intune 設定目錄,或將 Visual Studio 系統管理範本(ADMX) 匯入像群組原則編輯器這樣的舊版工具,來設定及部署整個組織內部的機器全域政策。 您也可以直接在用戶端電腦上設定登錄值。 每個實例行為通常會使用用戶端計算機上 命令行選項來控制。
登錄機碼
登錄中有數個位置,您可以在其中設定這些原則。 Visual Studio 會依下列順序循序查看,以查看是否已設定任何企業原則。 一旦發現政策值,就會忽略其餘的索引鍵。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\VisualStudio\Setup
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup
-
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_SZ 或 REG_EXPAND_SZ |
%ProgramData% \Microsoft \VisualStudio \套件 |
套件指令清單和承載快取路徑:Visual Studio 安裝程式會針對此記憶體快取目錄的路徑強制執行 50 個字元的限制。 如需詳細資訊,請參閱 停用或移動套件快取 頁面 |
KeepDownloadedPayloads |
REG_DWORD |
1 | 安裝後保留套件有效載荷:若停用此政策,將移除您修復或修改之實例的任何已快取的套件有效載荷。 您可以隨時變更值。 如需詳細資訊,請參閱 停用或移動套件快取 頁面。 |
SharedInstallationPath |
REG_SZ 或 REG_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
登錄政策,必須將現有的套件快取移至新位置,並確保其受到保護,以便 SYSTEM
和 Administrators
擁有 完全控制權,並且 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 金鑰會優先於 AdministratorUpdatesEnabled 金鑰,以編碼 IT 系統管理員意圖。 如果 AdministratorUpdatesOptOut 設定為 1,即使 AdministratorUpdatesEnabled 機碼也設定為 1,用戶端上也會封鎖更新。 此動作假設IT系統管理員可以存取和監控選擇退出的開發人員。然後,雙方可以討論誰的需求更重要。 IT 系統管理員可以隨時變更任一金鑰。 |
UpdateConfigurationFile |
REG_SZ 或 REG_EXPAND_SZ |
%ProgramData% \Microsoft \VisualStudio \updates.config |
更新組態檔的自定義路徑:用戶端上可用來設定系統管理更新之檔案的路徑。 根據預設,此檔案不存在且未設定原則。 如果您選擇將原則新增至用戶端計算機並定義自定義組態檔位置,則系統管理員更新會尋找此檔案。 如果檔案不存在,則會擲回例外狀況,而更新會失敗。 如需詳細資訊,請參閱 方法來設定系統管理員更新。 |
重要
Intune 管理的雲端連線用戶端計算機必須針對商務用 Windows Update 設定 Windows Update,並選擇加入 「啟用其他Microsoft產品的更新」,才能透過商務用 Windows Update Microsoft Update 通道接收 Visual Studio 系統管理員更新。
設定更新的來源位置
本節中的設定可讓系統管理員自定義及控制哪些更新通道可供使用,以及它們如何向企業組織中的客戶端顯示。 如需了解更新設定為何及及其運作方式的相關資訊,請參閱 更新來源位置設定 文件。 這項功能需要客戶端使用 Visual Studio 2022 安裝程式,而且版面配置必須使用 2019 年 11 月 10 日或之後版本的啟動載入器。 如需指引,請參閱 如何透過Visual Studio 2019版面配置 檔,在用戶端電腦上取得Visual Studio 2022 安裝程式。
本節中的機碼僅適用於 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup 登錄路徑
名稱 | 類型 | 描述 |
---|---|---|
Channels |
Key |
用來儲存自訂佈局通道資訊的子機碼路徑。 此機碼名稱會被視為信道名稱,且會顯示在 Update 通道下拉式清單中。
ChannelURI 值必須存在於 Channels 子機碼下。 |
DisabledChannels |
Key |
隱藏通道的子機碼路徑,並防止它們顯示在 [更新通道] 對話框中。 如果通道(以及 ChannelURI 值)在此處已定義,則會從對話方塊中篩選掉。 |
ChannelURI |
REG_SZ |
要新增的 channelURI 可以透過添加至 Channels hive 來加入更新通道值列表,或透過添加至 DisabledChannels 登錄區來從更新通道列表中移除。 針對 Microsoft 裝載的通道,channelURI 是 https://aka.ms/vs/16/release/channel 或 https://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 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 安裝和升級問題,以獲得逐步指引。
以下是一些更多支援選項:
- 針對安裝相關問題,請使用 安裝聊天(僅限英文)支持選項。
- 使用 「報告問題」 工具,您可以回報 Visual Studio 安裝程式和 Visual Studio IDE 中顯示的產品問題給我們。 如果您是 IT 系統管理員且未安裝 Visual Studio,則可以提交 IT 系統管理員意見反應。
- 建議功能、追蹤產品問題,並在 Visual Studio 開發人員社群中找到答案。