Visual Studio의 네트워크 설치 만들기, 유지 관리

엔터프라이즈 관리자는 때때로 조직 내의 클라이언트 장비에 배포할 수 있는 Visual Studio 파일이 포함된 사적 설치 캐시('레이아웃'이라고도 함)를 만들고 싶어 합니다.

레이아웃 생성은 다음과 같은 경우에 유용합니다.

  • 사용자에게는 제한된 사용 권한이 있습니다.
  • 클라이언트 머신은 인터넷 액세스가 제한됩니다.
  • 조직은 특정 버전의 개발자 도구 집합을 표준화하고자 합니다.

Visual Studio는 관리자가 레이아웃을 생성 및 유지 관리하여 내부 네트워크 공유에 저장하고, 필요에 따라 조직의 인트라넷에서 사용할 수 있도록 설계되었습니다. 레이아웃은 초기 클라이언트 설치와 후속 업데이트에 필요한 모든 Visual Studio 파일의 원본 위치 역할을 합니다.

이 페이지의 정보는 세 개의 기본 섹션으로 그룹화됩니다.

  • 레이아웃 생성하기: 올바른 제품 콘텐츠로 레이아웃을 생성하고, 기본 설정을 구성하며, 네트워크 파일 공유에 저장하고, 인트라넷에서 사용할 수 있도록 하는 방법을 설명합니다.
  • 레이아웃 유지 관리: 레이아웃의 제품 버전, 제품 콘텐츠, 채널 설정, 설치 관리자 버전, 폴더 크기를 업데이트하는 방법과 레이아웃을 유지 관리하는 방법을 설명합니다.
  • 도움말 및 지원: 지원을 받을 수 있는 곳을 안내합니다.

레이아웃 생성하기

네트워크 파일 공유 스토리지 위치 준비

먼저 다운로드한 Visual Studio 패키지를 저장할 위치를 결정해야 합니다. 엔터프라이즈에서 여러 버전의 Visual Studio를 사용 중인 경우(예: Visual Studio 2022 Professional과 Visual Studio 2022 Enterprise를 모두 사용하는 경우) 버전별로 별도의 레이아웃을 생성해야 합니다. 각 에디션에 대해 별도의 레이아웃을 만들면 특히 레이아웃 업데이트도 디스크 공간을 소비한다는 점을 고려할 때 많은 디스크 공간을 사용할 수 있습니다.

일부 조직에서는 기호 링크를 사용하여 80자 제한을 피하는 경우도 있긴 하지만, 레이아웃 경로는 기본적으로 80자 미만이어야 합니다.

Visual Studio 부트스트래퍼 다운로드로 레이아웃 생성하기

원하는 Visual Studio 버전에 해당하는 부트스트래퍼를 다운로드하여 레이아웃의 리포지토리로 사용할 디렉터리에 복사합니다. 레이아웃이 생성된 후, 해당 레이아웃으로 모든 클라이언트 머신에 Visual Studio를 설치할 수 있습니다. 부트스트래퍼는 레이아웃을 생성 및 업데이트하고, 그 밖의 작업을 수행하는 데 사용하는 실행 파일입니다. 이 단계를 완료하려면 인터넷 연결 및 관리자 권한이 있어야 합니다.

다음 부트스트래퍼는 실행 시점과 관계없이 항상 가장 안전한 버전의 Visual Studio 2019를 설치합니다. 특정 버전의 Visual Studio 2019를 생성 또는 설치하려면 각 서비스 릴리스를 위한 고정 버전 부트스트래퍼 링크가 있는 Visual Studio 2019 릴리스 페이지를 방문하여 원하는 부트스트래퍼를 다운로드하세요. 다운로드한 부트스트래퍼를 레이아웃의 소스 위치로 사용할 디렉터리에 복사합니다.

버전 부트스트래퍼
Visual Studio 2019 Enterprise 버전 16.11 vs_enterprise.exe
Visual Studio 2019 Professional 버전 16.11 vs_professional.exe
Visual Studio 2019 Build Tools 버전 16.11 vs_buildtools.exe

이 밖에 지원되는 부트스트래퍼에는 vs_teamexplorer.exe, vs_testagent.exe, vs_testcontroller.exe가 있습니다.

다음 부트스트래퍼는 실행 시점과 관계없이 현재 채널에서 항상 가장 안전한 버전의 Visual Studio 2022를 설치합니다. 특정 버전 또는 특정 채널의 Visual Studio 2022를 만들거나 설치하려면, Visual Studio 2022 Release History 에서 원하는 채널을 위한 서비스 릴리스용 에버그린 및 고정 버전 부트스트래퍼를 다운로드하세요. 다운로드한 부트스트래퍼를 레이아웃의 소스 위치로 사용할 디렉터리에 복사합니다.

버전 부트스트래퍼
Visual Studio 2022 Enterprise vs_enterprise.exe
Visual Studio 2022 Professional vs_professional.exe
Visual Studio 2022 Community vs_community.exe
Visual Studio 2022 Build Tools vs_buildtools.exe

이전에 다운로드한 부트스트래퍼 파일 버전을 확인하려면 다음 방법을 참조하세요. Windows에서 파일 Explorer를 열고 부트스트래퍼 파일을 마우스 오른쪽 버튼으로 클릭한 다음, 속성을 선택하고 세부 정보 탭을 선택한 다음, 제품 버전 번호를 확인합니다. 이 번호를 Visual Studio 릴리스에 매칭하려면 Visual Studio 2019 릴리스 페이지의 맨 아래에 있는 표를 참조하세요.

이전에 부트스트래퍼 파일을 다운로드했으며, 설치한 버전을 확인하려는 경우 방법은 다음과 같습니다. Windows에서 파일 Explorer를 열고 부트스트래퍼 파일을 마우스 오른쪽 버튼으로 클릭한 후 속성을 선택하고 세부 정보 탭을 선택한 다음, 제품 버전 필드에서는 부트스트래퍼가 설치할 채널 및 버전을 설명합니다. 버전 번호는 항상 ‘지정된 최신 서비스 버전’으로 해석되어야 하며 명시적으로 지정되지 않은 경우 채널은 최신 채널로 간주합니다. 따라서 제품 버전이 LTSC 17.0인 부트스트래퍼는 17.0 LTSC 채널에서 사용할 수 있는 최신 17.0.x 서비스 릴리스를 설치합니다. 제품 버전이 Visual Studio 2022로 명시된 부트스트래퍼는 현재 채널에서 가장 최신 서비스 버전의 Visual Studio 2022를 설치합니다.

Visual Studio 패키지를 다운로드합니다.

이 단계를 완료하려면 인터넷 연결이 필요합니다.

상승된 명령 프롬프트를 열고 부트스트래퍼를 다운로드한 디렉터리로 이동한 후 명령줄 매개 변수를 사용하여 Visual Studio 설치 페이지에서 정의한 대로 부트스트래퍼 매개 변수를 사용하여 로컬 레이아웃을 생성합니다. 다음 예제에서는 초기 레이아웃을 생성하는 일반적인 방법을 보여 줍니다. Visual Studio 설치 페이지의 명령줄 매개 변수 예제에서 더 많은 예제를 확인할 수 있습니다.

단일 언어 로캘의 전체 초기 레이아웃에 필요한 디스크 공간은 Visual Studio Community의 경우 약 40GB, Visual Studio Enterprise의 경우 약 50GB입니다. 추가 언어 로캘에는 약 0.5GB가 각각 필요합니다.

권장되는 방법은 다음과 같습니다. 네트워크 서버의 레이아웃 디렉터리에 적절한 언어 및 모든 워크로드가 있는 Visual Studio Enterprise의 초기 레이아웃을 생성하고 패키지로 저장하십시오. 이렇게 하면 모든 클라이언트 설치에서 전체 Visual Studio 제품 제공 및 하위 집합을 설치할 수 있는 기능에 액세스할 수 있습니다. Visual Studio의 전체 레이아웃을 생성하려면 네트워크 레이아웃을 호스트할 디렉토리에서 다음 명령을 실행합니다.

vs_enterprise.exe --layout c:\VSLayout

레이아웃이 올바른 채널을 기반으로 하는지 확인합니다.

네트워크 레이아웃이 올바른 채널을 기반으로 하는지 확인하는 것이 중요합니다. 왜냐하면 관리자 업데이트가 조직 전체에 배포되는 경우 어느 클라이언트 인스턴스를 업데이트해야 하는지 식별하는 데 사용하는 기준 중 하나이기 때문입니다. 예를 들어, 레이아웃이 VisualStudio.17.Release.LTSC.17.0 채널을 기반으로 하며 클라이언트가 Microsoft 호스트 서버에서 업데이트를 받도록 구성된 경우, 17.0 LTSC 채널에 공개되는 모든 보안 업데이트를 레이아웃에서 설치 또는 업데이트한 클라이언트가 사용할 수 있습니다.

이전에 나열된 부트스트래퍼는 현재 채널을 기반으로 합니다. LTSC 채널 중 하나를 기반으로 하는 레이아웃을 생성하려면 Visual Studio 2022 릴리스 기록 페이지에서 올바른 채널의 부트스트래퍼를 받고 레이아웃 폴더에 복사한 후 이를 사용하여 레이아웃을 생성 또는 업데이트하면 됩니다.

레이아웃 콘텐츠 구성

네트워크 레이아웃의 콘텐츠를 사용자 지정하는 데 사용할 수 있는 여러 옵션이 있습니다. 특정한 언어 로캘, 워크로드, 구성 요소, 권장 또는 선택적 종속성만 포함하는 부분 레이아웃을 생성할 수 있습니다. 워크로드의 하위 집합만 클라이언트 워크스테이션에 배포하려는 경우 부분 레이아웃이 유용합니다. 레이아웃을 사용자 지정하기 위한 일반적인 명령줄 매개 변수는 다음과 같습니다.

  • --add 워크로드 또는 구성 요소 ID를 지정하려면 다음과 같이 합니다.
    --add이(가) 사용되면 --add로 지정된 워크로드 및 구성 요소만 다운로드됩니다. --add을(를) 사용하지 않으면 모든 워크로드 및 구성 요소가 다운로드됩니다.
  • --includeRecommended: 지정된 워크로드 ID의 모든 권장 구성 요소를 포함하려면 다음과 같이 합니다.
  • --includeOptional: 지정된 워크로드 ID의 모든 선택적 구성 요소를 포함하려면 다음과 같이 합니다.
  • --config 다음의 *.vsconfig 파일을 사용하여 레이아웃에 포함되거나 참조되어야 하는 워크로드, 구성 요소 또는 확장 을 지정합니다. 구성 파일의 전체 경로를 지정했는지 확인하십시오.
  • --lang 언어 로캘을 지정하려면 다음과 같이 합니다.

다음은 사용자 지정 레이아웃을 생성하는 방법에 대한 몇 가지 예제입니다.

  • 하나의 언어로 모든 워크로드에 필요한 구성 요소가 있는 레이아웃을 생성하려면 다음을 실행합니다.

    vs_enterprise.exe --layout C:\VSLayout --lang en-US
    
  • 여러 언어로 모든 워크로드에 필요한 구성 요소가 있는 레이아웃을 생성하려면 다음을 실행합니다.

    vs_enterprise.exe --layout C:\VSLayout --lang en-US de-DE ja-JP
    
  • 하나의 워크로드 및 워크로드의 모든 필수 및 권장 구성 요소가 있는 레이아웃을 생성하려면 모든 언어에 대해 다음을 실행합니다.

    vs_enterprise.exe --layout C:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --includeRecommended
    
  • 두 개의 워크로드와 세 개 언어에서 하나의 선택적 구성 요소가 있는 레이아웃을 생성하려면 다음을 실행합니다.

    vs_enterprise.exe --layout C:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Component.Git --lang en-US de-DE ja-JP
    

구성 파일을 사용하여 레이아웃 내용 초기화

매개 변수를 사용하여 --config 파일을 전달할 *.vsconfig 수 있습니다. 구성 파일의 전체 경로를 지정했는지 확인하십시오. 레이아웃을 만드는 동안 *.vsconfig 파일을 사용하면 네트워크 레이아웃의 콘텐츠가 구성 파일에 지정된 내용으로 사용자 지정이 되고 제한됩니다. 구성 파일이 레이아웃 디렉토리에 복사되고 이름이 layout.vsconfig로 바뀝니다.

어떤 확장 중에서도 *.vsconfig 파일에 지정된 확장은 레이아웃에 직접 복사되지 않습니다. 대신, 레이아웃의 response.json 파일에는 새로 만든 layout.vsconfig 파일에 대한 참조가 포함되고, 클라이언트의 확장 설치 위치를 정의합니다. 디지털 서명이 되지 않은 확장을 설치하는 경우, response.json 를 편집하고 "allowUnsignedExtensions": true를 추가해야 합니다. 콘텐츠 예제를 response.json 참조하세요.

vs_enterprise.exe --layout "C:\VSLayout" --config "C:\myconfig.vsconfig" 

레이아웃을 네트워크 공유로 복사

다른 클라이언트 컴퓨터에서 액세스할 수 있도록 레이아웃을 네트워크 공유에서 호스트해야 합니다. 레이아웃을 로컬 컴퓨터에서 생성했다면 네트워크 파일 위치에 복사해야 합니다. 다음 예제에서는 xcopy을(를) 사용합니다. 원하는 경우 robocopy을(를) 사용할 수도 있습니다. 예시:

xcopy /e c:\VSLayout \\server\share\layoutdirectory

이 레이아웃의 초기 클라이언트 설치 기본값 구성

다음 response.json 파일은 레이아웃의 루트 폴더에 생성됩니다. 사용자 지정이 가능한 해당 파일은 클라이언트가 레이아웃에서 처음 설치할 때 클라이언트에 구성된 초기 기본 설정을 제공합니다. 일반적인 구성 옵션의 기능으로 구성할 수 있는 항목들은 다음과 같습니다.

  • 클라이언트에 기본적으로 설치돼야 하는 워크로드, 구성 요소 또는 언어
  • 권장 구성 요소도 설치돼야 하는 경우
  • 클라이언트가 설치 *.vsconfig 파일을 준수해야 하는 경우
  • 클라이언트는 어디에서 업데이트를 받아야 합니까?
  • 업데이트 도중에 지원되지 않는 구성 요소를 제거해야 하는 경우
  • 서명되지 않은 확장을 조용히 & 프로그래밍 방식으로 로드할 수 있는 경우

자세한 내용은 응답 파일 페이지를 사용하여 Visual Studio 설치 자동화에서 찾을 수 있습니다.

인트라넷 사이트로 레이아웃에 액세스할 수 있도록 설정

2023년 6월부터 내부 인트라넷 사이트에서 레이아웃을 사용할 수 있게 되어, 웹 서버 파일 캐싱 및 지역 복제 성능 기능을 활용할 수 있습니다. 해당 신규 기능을 사용하려면 최신 Visual Studio 부트스트래퍼와 최신 Visual Studio 설치 관리자를 사용해야 합니다. IT 관리자가 해당 인트라넷 웹호스팅 기능을 활용하려면 다음을 수행해야 합니다.

  1. 먼저 네트워크 레이아웃을 생성한 후, 기본 네트워크 공유에 비트가 있고 정기적으로 업데이트되는지 확인합니다. 또한 클라이언트가 인트라넷 레이아웃 위치에서 업데이트를 받도록 하려면 레이아웃 response.json에서 channelUri 값을 구성해야 합니다.

  2. 다음으로, 관리자는 내부 웹 사이트를 준비하고 웹 사이트의 원본을 레이아웃의 네트워크 파일 위치에 바인딩해야 합니다. 또한 웹 서버가 다음 MIME 유형을 준수하는지 확인해야 합니다.

    파일 확장명 MIME 형식
    .cab application/vnd.ms-cab-compressed
    .exe application/octet-stream
    .json application/json
    .msi application/octet-stream
    .msu application/octet-stream
    .nupkg application/octet-stream
    .opc application/octet-stream
    .ps1 application/postscript
    .vsix application/octet-stream
    .xml text/xml
    .zip application/x-zip-compressed
  3. 마지막으로 이 레이아웃을 클라이언트에 배포하려면 클라이언트에서 PowerShell 스크립트를 실행하여 초기 설치를 수행합니다. Visual Studio가 웹호스팅된 레이아웃로부터 클라이언트에 성공적으로 설치되면, 표준 메서드를 통해 웹호스트된 레이아웃에 대한 클라이언트 업데이트를 업데이트할 수 있습니다.

레이아웃이 최신 설치 관리자를 사용하는지 확인

참고

2023년 6월부터 최신 설치 관리자는 기본적으로 지원되는 모든 버전의 Visual Studio 2017, Visual Studio 2019 및 Visual Studio 2022에 대한 모든 업데이트와 함께 제공됩니다. 따라서 이러한 제품 버전 중 하나를 사용하는 경우 최신 기능 및 버그 수정으로 최신 버전의 설치 관리자를 가져오고자 실행할 필요 명시적 작업은 없습니다.

2023년 6월 이전에 제공된 Visual Studio 버전을 사용하는 경우, 항상 레이아웃에서 최신 Visual Studio Installer를 사용하여 클라이언트에 배포하는 것이 좋습니다. 예를 들어, Visual Studio 2019 레이아웃에서 Visual Studio 2022 설치 관리자를 배포하는 경우 해당 레이아웃을 기반으로 하는 Visual Studio 2019 클라이언트는 업데이트 소스 위치를 변경하거나 지원 구성 범위 밖에서 간단히 제거할 수 있습니다. 자세한 세부 사항은 다음 섹션에 설명되어 있습니다.

최신 설치 관리자를 사용한다는 점을 프로그래밍 방식으로 보장하는 기능은 Visual Studio 2022가 제공된 후에 빌드된 Visual Studio 2019 부트스트래퍼에서만 사용할 수 있습니다. 따라서 다음 예제의 vs_enterprise.exe는 2021년 11월 10일 이후에 제공된 버전이어야 합니다.

사용 가능한 최신 및 최고 설치 관리자를 사용하는 전체 제품의 레이아웃을 생성하려면 다음을 실행합니다.

vs_enterprise.exe --layout C:\VSLayout --useLatestInstaller

레이아웃 유지 관리

Visual Studio 레이아웃을 최신 보안 버전의 제품으로 주기적으로 업데이트하는 것이 가장 좋습니다. 이렇게 하면 레이아웃을 설치 지점이자 클라이언트 설치에 대한 업데이트 소스로도 사용할 수 있습니다. 다음 섹션에서는 가장 일반적이고 유용한 레이아웃 유지 관리 작업에 관해 설명합니다.

레이아웃을 네트워크 파일 공유에서 호스트하는 경우 프라이빗 로컬 공유에 업데이트된 레이아웃(예: c:\VSLayoutUpdate)을 다운로드하고 업데이트된 콘텐츠가 모두 다운로드되면 해당 복사본을 레이아웃 네트워크 파일 공유(예: \server\products\VS)로 복사하는 것이 좋습니다. 이렇게 하지 않으면 레이아웃을 업데이트하는 동안 설정을 실행하는 사용자가 레이아웃이 완전히 업데이트되지 않아 레이아웃에서 일치하지 않는 콘텐츠를 가져오게 됩니다.

레이아웃을 제품의 최신 버전으로 업데이트

Microsoft는 기능 또는 보안 문제를 해결하기 위해 제품의 업데이트된 버전을 자주 릴리스합니다. 클라이언트가 항상 가장 안전한 최신 버전의 제품에 액세스할 수 있도록 레이아웃을 최신 버전의 제품으로 업데이트하는 것이 좋습니다. 이는 클라이언트가 인터넷에 액세스할 수 없고 오직 레이아웃에서만 제품 업데이트를 받을 수 있는 경우에 특히 중요합니다. Visual Studio는 일반적으로 '패치 화요일'이라고 하는 달의 두 번째 화요일에 보안 업데이트를 릴리스하므로 패치 화요일 오후에 모든 레이아웃을 업데이트하는 것이 좋은 전략이라고 할 수 있습니다.

초기 레이아웃을 생성할 때, 레이아웃에 포함할 워크로드 및 언어와 같은 지정된 옵션이 레이아웃의 구성 파일 layout.json에 저장됩니다. 이후 레이아웃을 제품의 최신 버전으로 업데이트할 때, 레이아웃에서 원하는 제품의 구성요소를 다시 지정할 필요가 없습니다. 레이아웃 업데이트는 레이아웃의 기존 구성 요소를 최신 버전으로 업데이트하기만 하면 됩니다.

위 표에 있는 에버그린 부트스트래퍼 중 하나를 사용하여 다음과 같은 부분 레이아웃을 만들었다고 가정하겠습니다.

vs_enterprise.exe --layout c:\VSLayout --add Microsoft.VisualStudio.Workload.ManagedDesktop --lang en-US

Microsoft에서 제공하는 해당 레이아웃을 Microsoft 서버에서 호스트되는 제품의 최신 버전으로 업데이트하는 것은 어렵지 않습니다. 레이아웃에서 기존 에버그린 부트스트래퍼를 사용하고 관리자 권한 프롬프트에서 --layout 명령을 실행하여 다음과 같이 최신 패키지를 레이아웃에 다운로드하기만 하면 됩니다.

vs_enterprise.exe --layout c:\VSLayout

레이아웃을 무인 방식의 업데이트 버전으로 업데이트할 수도 있습니다. 레이아웃 작업은 새 콘솔 창에서 설치 프로세스를 실행합니다. 관리자가 최종 레이아웃 업데이트 결과는 물론, 발생했을 수 있는 오류 요약을 볼 수 있도록 창이 열려 있습니다. 무인 방식으로 레이아웃 업데이트 작업을 수행하고 싶은 경우(예를 들어 레이아웃을 최신 버전으로 업데이트하기 위해 정기적으로 실행되는 스크립트가 있는 경우) --passive 매개 변수를 사용하면 프로세스는 창을 자동으로 종료하니다.

vs_enterprise.exe --layout c:\VSLayout --passive

제품의 특정 버전으로 레이아웃을 업데이트

제품의 특정 버전으로 레이아웃을 업데이트해야 하는 경우가 있습니다. 레이아웃을 조직이 표준화한 서비스 기준의 초신 보안 버전과 매칭해야 하는 경우를 예로 들 수 있습니다. 수행하는 방법은 다음과 같습니다.

Visual Studio 2019 릴리스 페이지로 이동하여 특정 고정 버전 부트스트래퍼를 다운로드하고 레이아웃에 복사한 다음 이를 사용하여 레이아웃을 부트스트래퍼에 지정된 버전으로 업데이트할 수 있습니다. 이때 위와 동일한 신택스를 사용합니다.

관리자 업데이트를 사용하여 제품의 특정 버전으로 레이아웃을 업데이트할 수 있습니다. 관리자 업데이트를 가져오려면 Microsoft 업데이트 카탈로그로 이동하여 레이아웃 업데이트하고 싶은 최신 버전 업데이트를 검색합니다. 레이아웃이 호스트되는 컴퓨터에서 update.exe를 다운로드하고 상승된 명령 프롬프트를 열어 다음 명령을 실행합니다.

visualstudioupdate-16.0.0to16.11.23.exe layout --layoutPath c:\VSLayout

관리자 업데이트는 새 레이아웃 생성을 시작하지 않으며, 기존 레이아웃만 업데이트합니다. 초기 레이아웃을 생성하려면 부트스트래퍼를 사용해야 합니다.

Visual Studio 2022 릴리스 기록 페이지로 이동하여 특정 고정 버전 부트스트래퍼를 다운로드하고 레이아웃에 복사한 다음 이를 사용하여 레이아웃을 부트스트래퍼에 지정된 버전으로 업데이트할 수 있습니다. 이때 위와 동일한 신택스를 사용합니다.

관리자 업데이트 를 사용하여 레이아웃을 제품의 특정 버전으로 업데이트할 수 있습니다. 관리자 업데이트를 가져오려면 Microsoft 업데이트 카탈로그로 이동하여 레이아웃을 업데이트할 업데이트를 검색합니다. 레이아웃이 호스트된 컴퓨터에 update.exe를 다운로드하고 이 컴퓨터에서 상승된 명령 프롬프트를 연 다음, 아래 명령을 실행합니다.

visualstudioupdate-17.0.0to17.4.4.exe layout --layoutPath c:\VSLayout

관리자 업데이트는 새 레이아웃 생성을 시작하지 않으며, 기존 레이아웃만 업데이트됩니다. 초기 레이아웃을 생성하려면 부트스트래퍼를 사용해야 합니다.

네트워크 레이아웃이 지원되는 버전을 기반으로 하는지 확인

이따금 채널의 지원이 중단되는 경우가 있습니다. 클라이언트가 계속해서 보안 업데이트 알림을 받을 수 있도록 네트워크 레이아웃이 지원되는 채널을 기반으로 하는지 확인하십시오. 레이아웃이 VisualStudio.17.Release.LTSC.17.0 채널을 기반으로 하는 경우, 2023년 7월에 17.0 LTSC 채널 지원이 중단되면 더 이상 이 채널로 보안 업데이트가 릴리스되지 않으므로 레이아웃과 채널이 안전하지 않게 됩니다. 다양한 Visual Studio 2022 채널에 대한 지원 날짜는 여기에서 확인할 수 있습니다.

레이아웃의 기반이 되는 채널을 변경하려면 Visual Studio 2022 릴리스 기록 페이지에서 원하는 채널의 부트스트래퍼를 가져와 레이아웃 폴더에 복사한 다음, 일반적인 업데이트를 수행하십시오. 그러면 클라이언트에 업데이트 알림이 제공되어 보안 상태를 유지할 수 있게 됩니다.

레이아웃의 콘텐츠 수정

부분 레이아웃을 수정하여 추가 워크로드, 구성 요소 또는 언어를 추가할 수 있습니다. 레이아웃에서 구성 요소를 안정적으로 제거할 수 없습니다.

아래 예제에서는 이전에 관리형 데스크톱 워크로드 및 영어만 사용하여 만든 레이아웃에 Azure 워크로드 및 현지화된 언어를 추가합니다. 수정한 후, 이 레이아웃에는 관리형 데스크톱 워크로드 및 Azure 워크로드와 영어 및 독일어 모두 리소스가 포함됩니다. 구성 요소를 추가하는 것 외에도 --layout 명령을 사용하면 레이아웃이 부트스트래퍼에서 지정한 버전으로 업데이트됩니다. 따라서 에버그린 부트스트래퍼를 사용하는 경우 결과 레이아웃에는 새 구성 요소, 새 언어 및 모든 레이아웃 콘텐츠가 부트스트래퍼 채널의 최신 버전으로 업데이트됩니다.

vs_enterprise.exe --layout c:\VSLayout --add Microsoft.VisualStudio.Workload.Azure --lang de-DE

기존 부분 레이아웃이 전체 레이아웃이 되도록 수정하려면 다음 예제처럼 --all 옵션을 사용하세요. 다시 말하지만, 이 명령을 사용하면 레이아웃 내용이 부트스트래퍼에서 지정한 버전으로 업데이트됩니다.

vs_enterprise.exe --layout c:\VSLayout --all

레이아웃에 원하는 추가 구성요소를 담고 있는 *.vsconfig 파일을 전달하여 구성 요소를 레이아웃에 추가할 수 있습니다. 이렇게 하면, 신규 *.vsconfig 콘텐츠가 기존 layout.vsconfig 콘텐츠를 덮어쓰게 됩니다. 자세한 내용은, 이전 섹션인 레이아웃의 콘텐츠를 초기화하는 구성을 이용하기를 참조하세요.

vs_enterprise.exe --layout C:\VSLayout --config "C:\myupdatedconfig.vsconfig"

마지막으로 레이아웃 폴더에서 구성 파일을 직접 편집하고 layout.json 파일의 '추가' 섹션을 업데이트하여 레이아웃에 포함할 추가 구성 요소를 포함할 수 있습니다. 그런 다음, 최신 구성 요소를 다운로드하기 위해 앞에서 설명한 대로 --layout을(를) 사용하여 레이아웃을 업데이트해야 합니다.

참고

클라이언트 컴퓨터에 새로 추가된 레이아웃 구성 요소를 설치하는 가장 쉬운 방법은 클라이언트 컴퓨터의 레이아웃에서 부트스트래퍼를 실행하는 것입니다. 레이아웃에 있는 response.json 파일의 '추가' 섹션에 따라 클라이언트의 설치 관리자 UI에서 기본적으로 선택되는 구성 요소가 결정됩니다. 위의 방법 중 하나를 사용하여 레이아웃을 수정한 경우 response.json 파일의 '추가' 섹션을 수동으로 다시 확인 및 조정하여 새로 수정된 layout.json 파일의 '추가' 섹션에 있는 내용과 더 적절하게 일치시킬 수 있습니다.

클라이언트 컴퓨터에서 지원되지 않는 구성 요소를 제거하도록 레이아웃을 구성합니다.

일부 기업에서는 지원되지 않음 상태로 전환된 구성 요소를 제거하는 Visual Studio 2022 버전 17.4에 도입된 기능을 활용하려 합니다. 레이아웃을 관리하고 클라이언트가 관리자 업데이트를 수신하는 경우 이 프로세스를 비교적 쉽게 설정할 수 있습니다. 첫째, 아래에서 설명한 대로 최신 버전의 설치 관리자를 사용하도록 레이아웃을 구성해야 합니다. 둘째, 파일에 "removeOos": true 줄을 추가해야 합니다 response.json . 레이아웃에 이러한 두 세부 정보가 올바르게 설정된 경우 후속 관리자 업데이트는 이 설정을 준수하고 클라이언트 컴퓨터에서 지원되지 않은 구성 요소를 제거합니다.

레이아웃 확인

--verify을(를) 사용하여 네트워크 레이아웃에서 패키지 파일이 누락되었거나 유효하지 않은지 검사합니다. 확인이 끝나면 누락된 파일과 유효하지 않은 파일의 목록이 출력됩니다.

확인은 Visual Studio의 특정 부 버전의 최신 버전에 대해서만 작동합니다. 확인은 새 버전이 릴리스되면 이전 릴리스를 포함하는 레이아웃에서 작동하지 않습니다.

vs_enterprise.exe --layout <layoutDir> --verify

참고

--verify 옵션에 필요한 몇 가지 중요한 메타데이터 파일은 레이아웃 폴더에 있어야 합니다. 이러한 메타데이터 파일을 사용할 수 없으면 '--verify'는 실행될 수 없으며, 설치 프로그램에서 오류가 발생합니다. 이 오류가 발생할 경우 레이아웃을 다시 업데이트해 보거나 다른 폴더에서 네트워크 레이아웃을 다시 만드세요.

Microsoft는 주기적으로 Visual Studio 업데이트를 제공하므로, 만약 에버그린 부트스트래퍼를 사용하는 경우 최신 레이아웃은 초기 레이아웃과 동일한 버전을 포함하지 않을 수 있습니다. 그러나 고정 링크 부트스트래퍼를 사용하는 경우(거의) 항상 결정적 파일 집합을 얻게 됩니다.

레이아웃 수정

--fix을(를) 사용하여 --verify와(과) 동일한 확인을 수행하고 식별된 문제 해결을 시도해 볼 수도 있습니다. --fix 프로세스를 실행하려면 인터넷 연결이 필요하므로 --fix을(를) 호출하기 전에 머신이 인터넷에 연결되어 있는지 확인합니다.

vs_enterprise.exe --layout <layoutDir> --fix

레이아웃에서 이전 버전 제거

네트워크 캐시에 대한 레이아웃 업데이트를 수행한 후에는 레이아웃 폴더가 최신 Visual Studio 설치에 더 이상 필요하지 않은 사용되지 않는 패키지를 일부 포함할 수 있습니다. --clean 옵션을 사용하여 네트워크 레이아웃 폴더에서 더 이상 사용되지 않는 패키지를 제거할 수 있습니다.

이렇게 하려면 사용되지 않는 이러한 패키지를 포함하는 카탈로그 매니페스트 파일 경로가 필요합니다. 카탈로그 매니페스트는 네트워크 레이아웃 캐시의 '보관' 폴더에서 찾을 수 있습니다. 레이아웃을 업데이트하면 이 위치에 저장됩니다. '보관' 폴더에는 하나 이상의 'GUID' 폴더가 있으며, 각 폴더에는 사용되지 않는 카탈로그 매니페스트가 포함되어 있습니다. 'GUID' 폴더의 수는 레이아웃 업데이트 수와 동일합니다.

소수의 파일이 각 'GUID' 폴더 안에 저장됩니다. 가장 관심 갖는 두 파일은 'catalog.json' 파일과 'version.txt' 파일입니다. 'catalog.json' 파일은 --clean 옵션에 전달해야 하는 사용되지 않는 카탈로그 매니페스트입니다. 다른 version.txt 파일에는 사용되지 않는 카탈로그 매니페스트 버전이 포함되어 있습니다. 버전 번호를 기준으로 해당 카탈로그 매니페스트에서 사용되지 않는 패키지를 제거 여부를 결정할 수 있습니다. 다른 'GUID' 폴더를 확인할 때도 동일한 작업을 수행할 수 있습니다. 정리할 카탈로그를 결정한 후 이러한 카탈로그의 파일 경로를 지정하여 --clean 명령을 실행합니다.

다음은 --clean 옵션을 사용하는 방법의 예제입니다.

c:\VSLayout\vs_enterprise.exe --layout c:\VSLayout --clean c:\VSLayout\Archive\1cd70189-fc55-4583-8ad8-a2711e928325\Catalog.json --clean c:\VSLayout\Archive\d420889f-6aad-4ba4-99e4-ed7833795a10\Catalog.json

이 명령을 실행하면 설치 프로그램이 네트워크 레이아웃 폴더를 분석하여 제거할 파일 목록을 찾습니다. 찾은 후, 삭제될 파일을 검토하고 삭제를 확인할 수 있습니다.

항상 최신 설치 관리자를 포함하고 제공하도록 레이아웃 구성

참고

2023년 6월부터, 최신 설치 관리자는 기본적으로 지원되는 모든 버전의 Visual Studio 2017, Visual Studio 2019 및 Visual Studio 2022에 대한 모든 업데이트와 함께 제공됩니다. 따라서 레이아웃 및 클라이언트에 대한 최신 기능 및 버그 수정으로 최신 버전의 설치 관리자를 가져오고자 실행할 필요 명시적 작업은 없습니다.

그러나 2023년 6월 이전에 만든 레이아웃을 사용하는 경우, 설치 관리자가 최신 버전의 Visual Studio 일부로 간주되더라도 항상 이/가 최신 설치 관리자를 포함하고 클라이언트에 제공하도록 레이아웃 을(를) 명시적으로 구성할 수도 있습니다. 따라서 클라이언트가 이 레이아웃에서 업데이트되면 클라이언트는 해당 레이아웃에 포함되고 제공되는 최신 설치 관리자를 가져옵니다. 최신 설치 관리자가 클라이언트에 있으면 클라이언트 설치에서 Microsoft가 설치 관리자에 계속 추가하는 버그 수정 및 새로운 기능을 활용할 수 있다는 이점이 있습니다.

클라이언트의 Visual Studio 2019 설치에서 업데이트 확인 위치를 변경하거나 지원되지 않는 구성에서 모두를 삭제하기 위해서는 클라이언트 머신에 최신 Visual Studio 2022 설치 관리자를 가져와야 합니다. 이 작업을 수행하는 한 방법으로는 아래에 설명된 매개 변수로 Visual Studio 2019 레이아웃 내 Visual Studio 2022 설치 관리자를 포함하는 것입니다. 최신 설치 관리자를 사용하는 기능은 Visual Studio 2022가 제공된 후에 빌드된 Visual Studio 2019 부트스트래퍼에서만 사용할 수 있습니다. 따라서 아래 예제의 vs_enterprise.exe는 2021년 11월 10일 이후에 제공된 버전이어야 합니다.

레이아웃이 최신 설치 관리자를 포함하고 제공하도록 설정하는 몇 가지 방법이 있습니다.

  • 2023년 6월 또는 그 이후에 빌드된 Visual Studio 버전을 사용할 수 있습니다.

  • 레이아웃을 생성하거나 업데이트할 때 부트스트래퍼에 --useLatestInstaller 매개 변수를 전달할 수 있습니다. 이렇게 하면 레이아웃의 루트 디렉터리에 layout.json 파일에 설정됩니다. 다음은 사용 가능한 최신 설치 관리자를 사용하도록 레이아웃을 업데이트하고 구성하는 방법의 예제입니다.

    vs_enterprise.exe --layout C:\VSLayout --useLatestInstaller
    
  • layout.json 파일을 직접 편집하여 해당 설정을 추가할 수 있습니다.

    {
       "installChannelUri": ".\\ChannelManifest.json",
       "channelUri": "\\\\server\\share\\layoutdirectory\\ChannelManifest.json",
       "installCatalogUri": ".\\Catalog.json",
       "channelId": "VisualStudio.16.Release",
       "productId": "Microsoft.VisualStudio.Product.Enterprise",
    
       "useLatestInstaller": true,
       "removeOos": true
    
    }
    

layout.json 파일에서 이 설정을 프로그래밍 방식으로 제거하는 방법은 없으므로, 레이아웃이 Microsoft가 제공하는 최신 설치 관리자를 사용하지 않고 부트스트래퍼에 대응하는 버전(일반적으로 최신 설치 관리자보다 오래된 버전)을 사용하도록 하려면 layout.json 파일을 편집하여 "UseLatestInstaller": true 설정을 제거해야 합니다.

"UseLatestInstaller": true 설정은 레이아웃의 response.json 파일에서도 찾을 수 있지만 레이아웃에 항상 최신 설치 관리자가 있는지 확인하기 위해 이 설정은 무시됩니다. response.json 파일은 클라이언트가 레이아웃에서 설치하거나 업데이트할 때 클라이언트의 기본 구성 옵션을 설정하는 데 사용됩니다. 이 특정 "useLatestInstaller": true 설정에서 layout.json 파일은 클라이언트 머신이 레이아웃에서 최신 설치 관리자를 가져올 수 있도록 레이아웃의 내용에 최신 설치 관리자를 포함하도록 하는 데 사용됩니다.

오류 코드

--wait 매개 변수를 사용한 경우 작업 결과에 따라 %ERRORLEVEL% 환경 변수는 다음 값 중 하나로 설정됩니다.

결과
0 작업이 완료되었습니다.
740 권한 상승 필요
1001 Visual Studio 설치 관리자 프로세스가 실행되고 있습니다.
1003 Visual Studio가 사용 중입니다.
1602 작업이 취소되었습니다.
1618 다른 설치 실행 중
1641 작업이 성공적으로 완료되고 재부팅이 시작되었습니다.
3010 작업이 완료되었지만, 사용하려면 다시 부팅해야 합니다.
5003 부트스트래퍼가 설치 관리자를 다운로드하지 못했습니다.
5004 작업이 취소되었습니다.
5005 부트스트래퍼 명령줄 구문 분석 오류
5007 작업이 차단되었습니다. - 컴퓨터가 요구 사항에 맞지 않습니다.
8001 Arm 머신 검사 오류
8002 백그라운드 다운로드 사전 검사 오류
8003 지원 중단 선택 가능 오류
8004 대상 디렉터리 오류
8005 소스 페이로드 확인 오류
8006 Visual Studio 프로세스 실행 중
8010 운영 체제가 지원되지 않습니다. 시스템 요구 사항 참조
-1073720687 연결 실패
-1073741510 Microsoft Visual Studio 설치 관리자가 종료되었습니다(사용자 또는 외부 프로세스에 의해).
기타
(예:
-1, 1, 1603)
오류 조건 발생 - 자세한 내용은 로그를 확인하세요.

네트워크 레이아웃에 관한 지원 받기

네트워크 레이아웃에 문제가 있다면 저희에게 알려 주세요. 가장 좋은 방법은 Visual Studio 설치 관리자와 Visual Studio IDE에 있는 문제 보고 도구를 사용하는 것입니다. 본인이 IT 관리자이고 Visual Studio가 설치되어 있지 않다면 여기에서 IT 관리자 피드백을 제출할 수 있습니다. 이 도구를 사용하는 경우 Visual Studio 수집 도구의 로그를 함께 보내 주시면 문제를 진단하고 수정하는 데 큰 도움이 됩니다.

설치 관련 문제를 위한 설치 채팅(영어만 가능) 지원 옵션도 제공됩니다.

다른 지원 옵션도 있습니다. Visual Studio Developer Community를 참조하세요.