다음을 통해 공유


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 빌드 도구 버전 16.11 vs_buildtools.exe

지원되는 다른 부트스트래퍼에는 vs_teamexplorer.exe, vs_testagent.exevs_testcontroller.exe포함됩니다.

다음 부트스트래퍼는 언제 실행하든 관계없이 현재 채널에 항상 최신 및 가장 안전한 버전의 Visual Studio 2022를 설치합니다. 또는 Visual Studio 2022의 특정 버전이나 특정 채널로 레이아웃을 만들거나 업데이트하려는 경우, 원하는 채널의 서비스 릴리스를 위한 상시 업데이트 및 고정된 버전의 부트스트래퍼를 Visual Studio 2022 릴리스 기록 에서 다운로드하세요. 레이아웃의 원본 위치로 사용할 디렉터리에 복사합니다.

부트스트래퍼
Visual Studio 2022 Enterprise vs_enterprise.exe
Visual Studio 2022 Professional vs_professional.exe
Visual Studio 2022 커뮤니티 vs_community.exe
Visual Studio 2022 빌드 도구 vs_buildtools.exe

이전에 부트스트래퍼 파일을 다운로드하고 버전이 무엇인지 확인하려는 경우 방법은 다음과 같습니다. Windows에서 파일 탐색기를 열고 부트스트래퍼 파일을 마우스 오른쪽 단추로 클릭하고 속성선택하고 세부 정보 탭을 선택한 다음 제품 버전 번호를 봅니다. 해당 숫자를 Visual Studio 릴리스와 일치하려면 Visual Studio 2019 릴리스 페이지의 맨 아래에 있는 표를 참조하세요.

이전에 부트스트래퍼 파일을 다운로드하고 설치할 버전을 확인하려는 경우 방법은 다음과 같습니다. Windows에서 파일 탐색기를 열고 부트스트래퍼 파일을 마우스 오른쪽 단추로 클릭하고 속성 선택한 다음 세부 정보 탭을 선택합니다. 제품 버전 필드는 부트스트래퍼가 설치할 채널 및 버전 설명합니다. 버전 번호는 항상 "지정된 항목의 최신 서비스 버전"으로 읽혀야 하며 명시적으로 지정하지 않는 한 채널은 현재로 간주됩니다. 따라서 제품 버전이 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의 초기 레이아웃을 만들고 패키지를 네트워크 서버의 레이아웃 디렉터리에 저장하는 것입니다. 이렇게 하면 모든 클라이언트 설치에서 전체 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
    
  • 워크로드 2개와 선택적 구성 요소 1개를 3개 언어로 사용하여 레이아웃을 만들려면 다음을 실행합니다.

    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 설치 관리자를 레이아웃에 사용하고 클라이언트에 배포하는 것이 좋습니다. 예를 들어 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 채널을 기반으로 하는 경우 17.0 LTSC 채널이 2023년 7월에 지원이 중단되면 더 이상 보안 업데이트를 릴리스하지 않으며 레이아웃 및 클라이언트가 안전하지 않게 됩니다. 다양한 Visual Studio 2022 채널에 대한 지원 날짜는여기에서 확인할 수 있습니다.

레이아웃의 기반이 되는 채널을 변경하려면 Visual Studio 2022 릴리스 기록 페이지에서 원하는 채널의 부트스트래퍼를 획득하고, 레이아웃 폴더에 복사하고, 일반 업데이트를 수행합니다. 그러면 클라이언트도 보안을 유지할 수 있도록 업데이트에 대한 알림을 적절하게 받아야 합니다.

레이아웃의 내용 수정

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

아래 예제에서는 이전에 Managed Desktop 워크로드 및 영어만 사용하여 만든 레이아웃에 Azure 워크로드 및 지역화된 언어를 추가합니다. 수정한 후에는 Managed Desktop 및 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 파일의 'add' 섹션을 수동으로 다시 확인하고 조정하여 새로 수정된 layout.json 파일의 'add' 섹션에 있는 내용과 더 적절하게 일치시킬 수 있습니다.

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

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

레이아웃 확인

--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로 간주되더라도 항상 클라이언트에 최신 설치 관리자를 포함하고 제공할 레이아웃을 명시적으로 구성할 수도 있습니다. 따라서 클라이언트가 이 레이아웃에서 업데이트되면 클라이언트는 이 레이아웃에 포함되어 제공된 최신 설치 관리자를 가져옵니다. 이점은 클라이언트에 최신 설치 관리자가 있으면 클라이언트 설치에서 계속해서 설치 관리자에 추가하는 버그 수정 및 새로운 기능을 활용할 수 있다는 것입니다.

클라이언트의 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 설정을 제거합니다.

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

오류 코드

--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 Collect 도구 로그를 보낼 수 있으면 매우 유용합니다.

설치 관련 문제에 대한 설치 채팅(영어만 해당) 지원 옵션도 제공합니다.

다른 지원 옵션도 사용할 수 있습니다. Visual Studio 개발자 커뮤니티 을 확인하세요.