Visual Studio 엔터프라이즈 배포에 대한 정책 구성

Visual Studio의 배포 및 정책을 통한 업데이트 동작 중 특정 측면을 구성할 수 있습니다. 이러한 구성 중 일부는 설치된 Visual Studio 인스턴스에만 적용되며, 일부 구성은 전역적이고 클라이언트 컴퓨터의 모든 Visual Studio 인스턴스에 적용될 수 있습니다. 구성할 수 있는 옵션은 다음과 같습니다.

  • 관리자 권한이 없는 사용자가 Visual Studio를 업데이트하거나 수정할 수 있어야 하는 경우
  • 지원되지 않는 구성 요소를 컴퓨터에서 제거해야 하는 경우
  • 다른 버전 또는 인스턴스와 공유되는 일부 패키지가 설치되는 경우
  • 패키지 위치 및 캐시되는지 여부
  • 관리자 업데이트를 활성화할지 여부 및 관리자 업데이트가 적용되는 방식
  • 사용 가능한 업데이트 채널, 클라이언트에 업데이트 채널이 표시되는 방식
  • 알림이 표시되는지 여부와 표시되는 방식

Microsoft Intune 설정 카탈로그를 사용하거나 Visual Studio Administrative Templates(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로 설정되면, 관리자 권한이 없는 사용자는 Available 탭에서 ModifyInstall 을 포함해 Visual Studio 설치 관리자에서 수동으로 모든 기능을 사용할 수 있습니다. 표준 사용자는 Visual Studio 설치 관리자 명령을 이 정책이 어디에 설치되었나와 무관하게 --passive 또는 --quiet 매개 변수 없이 프로그래밍 방식으로 실행할 수 없습니다. 이 정책을 사용하려면 클라이언트 컴퓨터에 최신 버전의 Visual Studio 2022 설치 관리자를 설치해야 합니다.
CachePath REG_SZ 또는 REG_EXPAND_SZ %ProgramData%
\Microsoft
\VisualStudio
\Packages
패키지 매니페스트 및 페이로드 캐시 경로: Visual Studio 설치 관리자가 이 스토리지 캐시 디렉터리의 경로에 50자 제한을 적용합니다. 자세한 내용은 패키지 캐시를 사용하지 않도록 설정 또는 이동 페이지를 참조하세요.
KeepDownloadedPayloads REG_DWORD 1 설치 후에도 패키지 페이로드 유지: 정책을 사용하지 않도록 설정하면 복구하거나 수정하는 인스턴스에 대한 캐시된 패키지 페이로드가 모두 제거됩니다. 언제든지 값을 변경할 수 있습니다. 자세한 내용은 패키지 캐시를 사용하지 않도록 설정 또는 이동 페이지를 참조하세요.
SharedInstallationPath REG_SZ 또는 REG_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 동작은 명령줄 매개 변수 또는 Update Settings 대화 상자와 같이 이 설정을 구성할 수 있는 다른 위치를 준수합니다. 자세한 내용은 지원되지 않는 구성 요소 제거하기 게시물을 참조하세요. 이 기능을 사용하려면 클라이언트 컴퓨터에 Visual Studio 2022 버전 17.4 설치 관리자를 설치해야 합니다.
DisableRollback REG_DWORD 0 Visual Studio 업데이트 롤백 또는 실행 취소 기능 비활성화하기: 1로 설정하면 사용자가 롤백 기능에 액세스할 수 없습니다. 따라서 Visual Studio가 보안 수정 사항이 포함될 수 있는 최신 업데이트를 되돌릴 수 없습니다. 0으로 설정하거나 제외하면 사용자가 Visual Studio에서 롤백 기능에 액세스할 수 있으며 업데이트를 실행 취소하고 Visual Studio 인스턴스를 이전에 설치된 버전으로 롤백할 수 있습니다. 자세한 내용은 롤백 블로그 게시물을 참조하세요.
HideAvailableTab REG_DWORD 0 설치 관리자의 사용 가능한 탭 숨기기: 1로 설정하면 관리자가 설치 관리자의 Available 탭을 숨길 수 있으므로 조직 내 사용자가 실수로 잘못된 제품을 설치하는 것을 방지할 수 있습니다.
DisableSound REG_DWORD 0 설치 관리자에서 소리 비활성화: 1로 설정하면 사용자는 Visual Studio 설치 관리자 소리를 비활성화할 수 있으며, 설치 관리자 오퍼레이션이 완료되거나 오류가 발생할 때 오디오 큐를 방지할 수 있습니다. 설치 관리자 오퍼레이션에는 설치, 업데이트, 수정 및 요청된 오퍼레이션을 시도하는 동안 설치 관리자 또는 오류 대화 상자에서 수행하는 다른 많은 오퍼레이션이 포함됩니다. 0으로 설정되거나 완전히 누락된 경우 사용자는 설치 관리자에서 소리를 재활성화할 수 있습니다. 자세한 내용은 소리 비활성화 게시물을 참조하세요.

Important

설치 후 CachePath 레지스트리 정책을 변경할 경우 기존 패키지 캐시를 새 위치로 이동해야 하며 SYSTEMAdministrators모든 권한이 부여되고 Everyone읽기 권한이 부여되도록 설정해야 합니다. 기존 캐시를 이동하거나 보호하지 못하면 이후 설치에 관련된 문제가 발생할 수 있습니다.

관리자 업데이트 제어

이 섹션의 레지스트리 설정은 관리자 업데이트가 클라이언트 컴퓨터에 적용되는지 여부와 방식을 제어합니다.

이름 형식 기본값 설명
AdministratorUpdatesEnabled REG_DWORD 0 관리자 업데이트 사용: 관리자 업데이트를 클라이언트 컴퓨터에 적용할 수 있습니다. 이 값이 없거나 0으로 설정된 경우 관리자 업데이트가 차단됩니다. 값이 1이면 클라이언트 컴퓨터가 WSUS/SCCM 채널을 통해 배포된 업데이트를 사용할 수 있습니다. 권장 값 2를 설정하면 클라이언트 컴퓨터가 WSUS/SCCM 채널 또는 비즈니스용 Windows 업데이트/Intune/Microsoft Endpoint Manager 채널을 통해 배포된 업데이트를 받을 수 있습니다. 이 레지스트리 키는 관리자 사용자를 위한 것입니다. 자세한 내용은 관리자 업데이트 사용을 참조하세요.
AdministratorUpdatesNotifications REG_DWORD 0 관리자는 사용자에게 Visual Studio를 닫아 관리자 업데이트 차단을 해제하도록 알릴 수 있습니다. Visual Studio가 열려 있거나 사용 중인 경우 관리자 업데이트가 적용되지 않습니다. 이 레지스트리 키를 설정하면 관리자가 보류 중인 업데이트가 적용될 수 있도록 사용자에게 Visual Studio를 닫고 작업을 저장하라는 Windows 알림 메시지 프롬프트를 발생시킬 수 있습니다. 이 레지스트리 키는 관리자 사용자를 위한 것입니다. 자세한 내용은 공지 블로그 게시물을 참조하세요.
AdministratorUpdatesOptOut REG_DWORD 0 관리자 업데이트 옵트아웃: 사용자가 Visual Studio에 대한 관리자 업데이트를 받지 않으려는 것을 나타냅니다. 이 레지스트리 키가 없거나 설정된 값이 0이면 Visual Studio 사용자가 Visual Studio에 대한 관리자 업데이트를 받으려는 것입니다. 이 정책은 개발자 사용자가 클라이언트 컴퓨터에 대한 관리자 권한이 있는지 구성하기 위한 것입니다.

사용자 기본 설정을 인코딩하는 AdministratorUpdatesOptOut 키는 IT 관리자 의도를 인코딩하는 AdministratorUpdatesEnabled 키보다 우선 적용됩니다. AdministratorUpdatesOptOut을 1로 설정하면 AdministratorUpdatesEnabled 키도 1로 설정된 경우에도 클라이언트에서 업데이트가 차단됩니다. 이 작업은 IT 관리자가 개발자에 의해 옵트아웃된 항목을 액세스 및 모니터링한다고 가정합니다. 두 당사자는 누구의 요구 사항이 더 중요한지 논의할 수 있습니다. IT 관리자는 필요한 경우 언제든지 키를 변경할 수 있습니다.
UpdateConfigurationFile REG_SZ 또는 REG_EXPAND_SZ %ProgramData%
\Microsoft
\VisualStudio
\updates.config
업데이트 구성 파일의 사용자 지정 경로: 관리 업데이트를 구성하는 데 사용할 수 있는 클라이언트의 파일 경로입니다. 기본적으로 이 파일은 존재하지 않으며 정책이 설정되지 않습니다. 클라이언트 컴퓨터에 정책을 추가하고 사용자 지정 구성 파일 위치를 정의하도록 선택하면 관리자 업데이트가 이 파일을 찾습니다. 파일이 없으면 예외가 throw되고 업데이트가 실패합니다. 자세한 내용은 관리자 업데이트 구성 방법을 참조하세요.

Important

비즈니스용 Windows 업데이트 Microsoft Update 채널을 통해 Visual Studio 관리자 업데이트를 받으려면 Intune에서 관리하는 클라우드 연결된 클라이언트 컴퓨터를 비즈니스용 Windows 업데이트로 구성하고 "Enable Updates for other Microsoft Products"를 옵트인해야 합니다.

업데이트의 소스 위치 구성

이 섹션의 설정을 통해 관리자는 사용 가능한 업데이트 채널과 엔터프라이즈 조직의 클라이언트에 업데이트 채널이 표시되는 방식을 사용자 지정하고 제어할 수 있습니다. 업데이트 설정이 무엇이고 어떻게 작동하는지 알아보려면 업데이트의 소스 위치 구성 설명서를 참조하세요. 이 기능을 사용하려면 클라이언트가 Visual Studio 2022 설치 관리자를 사용하고 레이아웃이 2021년 11월 10일 이후에 출고된 2019 부트스트래퍼 버전을 사용해야 합니다. 이 기능을 사용하도록 설정하는 방법은 Visual Studio 2019 레이아웃을 통해 클라이언트 컴퓨터에 Visual Studio 2022 설치 관리자를 가져오는 방법 설명서를 참조하세요.

이 섹션의 키는 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup 레지스트리 경로에만 적용됩니다.

이름 타입 설명
Channels Key 사용자 지정 레이아웃 채널 정보를 저장할 하위 키 경로입니다. 이 키의 이름은 채널 이름을 고려하여 정해지며, 업데이트 채널 드롭다운에 표시됩니다. ChannelURI 값은 Channels 하위 키 아래에 있어야 합니다.
DisabledChannels Key 채널이 채널 업데이트 대화 상자에 표시되지 않도록 하는 하위 키 경로입니다. 여기에 ( ChannelURI 값과 함께) 정의된 채널은 대화 상자에서 필터링됩니다.
ChannelURI REG_SZ Channels 하이브에 추가하여 업데이트 채널 목록에 추가하거나 DisabledChannels 레지스트리 하이브에 추가하여 업데이트 채널 목록에 표시하지 않을 channelURI입니다. Microsoft 호스트 채널의 channelURI는 “https://aka.ms/vs/16/release/channel" 또는 “https://aka.ms/vs/16/pre/channel"입니다. 레이아웃의 경우 이 값은 레이아웃의 ChannelManifest.json을 가리켜야 합니다. 예제를 참조하세요.
Description REG_SZ 채널에 대한 두 줄로 이루어진 사용자 지정 설명입니다. 이미 레이아웃에서 설치한 경우 Update Settings UI의 기본값은 “프라이빗 채널”이 되며 Description을 사용하여 변경할 수 있습니다.

다음은 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에서는 창의 오른쪽 위에 알림 아이콘을 통해 사용자에게 알립니다.

The notification icon in the 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 설치 및 업그레이드 문제 해결을 참조하세요.

몇 가지 추가 지원 옵션은 다음과 같습니다.