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

적용 대상:yesVisual Studio noMac용 Visual Studio noVisual Studio Code

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

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

관리 템플릿 ADMX를 사용한 다음 조직 전체에 이러한 정책을 배포하거나 클라이언트 컴퓨터에서 직접 레지스트리 값을 설정하여 이러한 전역 동작을 설정할 수 있습니다. 클라이언트 컴퓨터에서 명령줄 옵션을 사용하여 인스턴스별 동작을 구성할 수 있습니다.

레지스트리 키

그룹 정책을 통해 또는 레지스트리에서 직접 제어를 사용할 수 있도록 여러 위치에서 엔터프라이즈 기본값을 설정할 수 있습니다. 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 제품을 다운로드하여 클라이언트 컴퓨터에 설치하는 방법과 위치를 제어합니다.

이름 형식 기본값 설명
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 누락된 경우 동작은 명령줄 매개 변수 또는 설정 업데이트 대화 상자와 같이 구성할 수 있는 다른 위치를 준수합니다. 자세한 내용은 지원 외 구성 요소 제거 블로그 게시물을 참조하세요. 이 기능을 사용하려면 Visual Studio 2022 버전 17.4 설치 관리자를 클라이언트 컴퓨터에 설치해야 합니다.
DisableRollback REG_DWORD 0 Visual Studio 업데이트를 롤백하거나 실행 취소하는 기능을 사용하지 않도록 설정합니다. 1로 설정하면 사용자가 롤백 기능에 액세스할 수 없으므로 Visual Studio에서 보안 수정이 포함될 수 있는 최신 업데이트를 되돌리지 못하게 됩니다. 0으로 설정되거나 완전히 누락된 경우 사용자는 Visual Studio의 롤백 기능에 액세스할 수 있으며 업데이트를 실행 취소하고 Visual Studio 인스턴스를 이전에 설치된 버전으로 롤백할 수 있습니다. 자세한 내용은 롤백 블로그 게시물을 참조하세요.

중요

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

관리자 업데이트 제어

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

이름 형식 기본값 설명
AdministratorUpdatesEnabled REG_DWORD 0 관리자 업데이트 사용: 관리자 업데이트를 클라이언트 컴퓨터에 적용할 수 있습니다. 이 값이 없거나 0으로 설정된 경우 관리자 업데이트가 차단됩니다. 값이 1이면 WSUS/SCCM 채널을 통해 배포된 업데이트에 클라이언트 컴퓨터를 사용할 수 있습니다. 권장 값 2를 사용하면 클라이언트 머신이 WSUS/SCCM 채널 또는 비즈니스용 Windows 업데이트/Intune/Microsoft 엔드포인트 관리자 채널을 통해 배포된 업데이트를 받을 수 있습니다. 이 레지스트리 키는 관리자 사용자를 위한 것입니다. 자세한 내용은 관리자 업데이트 사용을 참조하세요.
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되고 업데이트가 실패합니다. 자세한 내용은 관리자 업데이트 구성 방법을 참조하세요.

중요

Intune 관리되는 클라우드 연결 클라이언트 머신은 비즈니스용 Windows 업데이트 대해 구성되어야 하며 비즈니스용 Windows 업데이트 Microsoft 업데이트 채널을 통해 Visual Studio 관리자 업데이트를 받으려면 AllowMUUpdateServicePolicy를 선택해야 합니다.

업데이트의 소스 위치 구성

이 섹션의 설정을 통해 관리자는 사용 가능한 업데이트 채널과 엔터프라이즈 조직의 클라이언트에 업데이트 채널이 표시되는 방식을 사용자 지정하고 제어할 수 있습니다. 업데이트 설정이 무엇이고 어떻게 작동하는지 알아보려면 업데이트의 소스 위치 구성 설명서를 참조하세요. 이 기능을 사용하려면 클라이언트가 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 채널에 대한 두 줄로 이루어진 사용자 지정 설명입니다. 이미 레이아웃에서 설치한 경우 업데이트 설정 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에는 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에 모두 표시되는 문제 보고 도구를 통해 Microsoft에 제품 문제를 보고합니다. IT 관리자이고 Visual Studio가 설치되어 있지 않은 경우 여기에서 IT 관리자 피드백을 제출할 수 있습니다.
  • Visual Studio 개발자 커뮤니티에서 기능을 제안하고, 제품 문제를 추적하고, 답변을 찾습니다.

참고 항목