다음을 통해 공유


명령줄 매개 변수를 사용하여 Visual Studio 설치, 업데이트, 관리

프로그래밍 방식으로 또는 명령 프롬프트에서 Visual Studio를 설치할 때 여러 명령줄 매개 변수를 사용하여 설치가 다음 작업을 수행하도록 제어하거나 사용자 지정할 수 있습니다.

  • 특정 옵션 및 동작이 미리 선택된 상태로 클라이언트에서 설치를 시작합니다.
  • 설치 또는 업데이트 프로세스를 자동화합니다.
  • 클라이언트 머신을 설치하거나 업데이트하기 위한 제품 파일의 네트워크 레이아웃을 만들거나 유지 관리합니다.

다음의 명령줄 동사 및 매개 변수는 다음에 나와있는 실행 파일 또는 프로그램과 함께 사용할 수 있습니다.

  • 다운로드 프로세스와 초기 설치를 시작하는 작은(~1MB) 파일(예: vs_enterprise.exe)인 설치 부트스트래퍼입니다.
  • 컴퓨터에 이미 설치되어 있고 C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe 폴더에 있는 Visual Studio 설치 관리자입니다. 설치 관리자가 있는 다른 디렉터리에서 프로그래밍 방식으로 설치 관리자를 시작해야 합니다. 설치 관리자는 일반적으로 업데이트 또는 수정 명령에 사용됩니다.
  • winget의 --override 스위치를 사용하는 winget 명령을 사용합니다.
  • Microsoft 업데이트 카탈로그에서 다운로드할 수 있는 관리자 업데이트 패키지를 사용하면 네트워크 레이아웃을 프로그래밍 방식으로 업데이트할 수 있습니다. 자세한 정보는 레이아웃 업데이트 또는 수정 문서에서 확인할 수 있습니다.

이러한 각 상황에서는 모든 명령이나 매개 변수가 작동하지 않으며 특별한 주의 사항이나 예외가 문서화되어 있습니다. 또한 일부 시나리오에서는 이전에 설명한 모든 실행 파일에 대한 액세스 권한이 없을 수도 있습니다. 예를 들어, 클라이언트 컴퓨터에는 Visual Studio가 레이아웃을 통해 설치된 경우에만 프로그래밍 방식으로 실행할 수 있는 설치 관리자가 있을 수 있습니다.

다음 테이블에서 Visual Studio 2019 부트스트래퍼를 가져올 수 있습니다. 또는 특정 버전의 Visual Studio 2019를 원하는 경우 Visual Studio 2019 Releases 페이지를 참조하세요. 이 페이지에는 선택한 Visual Studio 버전에 대한 고정 버전 부트스트래퍼로 연결되는 링크가 있습니다.

버전 부트스트래퍼
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

항상 최신 버전의 현재 채널을 설치하는 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에서 파일 탐색기를 열고 부트스트래퍼 파일을 마우스 오른쪽 단추로 클릭한 다음, 속성을 선택하고 세부 정보 탭을 선택한 다음, 제품 버전 번호를 확인합니다. 이 번호를 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 명령줄 매개 변수는 대/소문자를 구분하지 않으며, 명령줄 매개 변수 예제 페이지에서 추가 예제를 확인할 수 있습니다.

구문 예제: vs_enterprise.exe [command] <optional parameters>...

Command 설명
(비어 있음) 기본 명령은 모두 제품을 설치하며, 모든 레이아웃 유지 관리 작업에 사용됩니다.
modify 설치된 제품을 수정합니다.
update 설치된 제품을 업데이트합니다.
updateall 설치된 모든 제품을 순차적으로 업데이트합니다. --quiet--passive 매개 변수와 함께 작동합니다.
repair 설치된 제품을 복구합니다.
uninstall 설치된 제품을 제거합니다.
export 설치 구성을 *.vsconfig 파일로 내보냅니다.

Important

고유한 여러 워크로드 또는 구성 요소나 언어를 지정할 경우 각 항목에 대해 --add 또는 --remove 명령줄 스위치를 반복해야 합니다.

매개 변수 설명
--installPath <dir> 기본 설치 명령의 경우 이 매개 변수는 Optional 이며 클라이언트 머신에서 인스턴스가 설치되는 위치를 설명합니다. 업데이트 또는 수정과 같은 다른 명령의 경우 이 매개 변수는 필수이며 인스턴스가 작업을 수행할 설치 디렉터리를 나타냅니다.
--productId <id> Optional: --channelId와 함께 수정되고 사용되는 인스턴스에 대한 제품의 ID입니다. productID의 예는 “Microsoft.VisualStudio.Product.Enterprise”와 같습니다.
--channelUri Optional: 업데이트 명령 과정에서, 신규 --channelUri 를 전달하여 업데이트 설정 위치를 변경할 수 있습니다. 구성하고 있는 Visual Studio의 인스턴스를 명시적으로 드러내려면 --installPath 매개변수와 함께 사용하는 것이 좋습니다. 참조하실 구문 예시는 다음과 같습니다. --channelUri
--channelId <id> 채널 ID는 예를 들어 VisualStudio.17.Release입니다. 참조하실 구문 예시는 다음과 같습니다 --channelId. channelId--productID 또는 --installPath 와 함께 오퍼레이션을 수정하는 데 필요합니다.
--add <one or more workload or component IDs> 선택 사항: 설치 또는 수정 명령 중에 이 반복 가능한 매개 변수는 추가할 하나 이상의 워크로드 또는 구성 요소 ID를 지정합니다. 아티팩트의 필수 구성 요소가 설치되지만 권장 또는 선택적 구성 요소는 설치되지 않습니다. 다른 구성 요소를 제어하면서 --includeRecommended 및/또는 --includeOptional 매개 변수를 전역적으로 사용할 수 있습니다. 여러 워크로드 또는 구성 요소를 포함하려면 --add 명령(예:--add Workload1 --add Workload2)을 반복합니다. 더 세부적으로 제어하기 위해 ;includeRecommended 또는 ;includeOptional을 ID에 추가할 수 있습니다(예: --add Workload1;includeRecommended 또는 --add Workload2;includeRecommended;includeOptional). 자세한 내용은 작업 및 구성 요소 ID 페이지를 참조하세요.
--all 선택 사항: 설치 또는 수정 명령 중에 이 매개 변수는 제품의 모든 워크로드 및 구성 요소가 설치되도록 합니다.
--allWorkloads 선택 사항: 설치 또는 수정 명령 중에 이 매개 변수는 모든 워크로드 및 구성 요소를 설치하지만, 권장 또는 선택적 구성 요소는 설치하지 않습니다.
--includeRecommended Optional: 설치 또는 수정 명령 중에 이 매개 변수는 설치된 모든 워크로드의 권장 구성 요소를 포함합니다. 선택적 구성 요소는 포함되지 않습니다. 워크로드는 --allWorkloads 또는 --add를 사용하여 지정됩니다. --includeRecommended 매개 변수를 사용하면 업데이트 설정 대화 상자에서 “업데이트 시 설치된 워크로드에 추천 구성 요소 추가”를 사용하도록 설정할 수 있습니다. 이 설정을 변경하려면 업데이트 설정 사용자 지정을 참조하세요.
--includeOptional Optional: 설치 또는 수정 명령 중에 이 매개 변수는 설치된 모든 워크로드의 선택적 구성 요소를 포함합니다. 권장 구성 요소는 포함되지 않습니다. 워크로드는 --allWorkloads 또는 --add를 사용하여 지정됩니다.
--addProductLang <language-locale> 선택 사항: 설치 또는 수정 명령 중에 이 반복 가능한 매개 변수는 제품과 함께 설치해야 하는 UI 언어 팩을 지정합니다. 이 매개 변수가 없으면 설치에서 머신 로캘에 해당하는 언어 팩을 사용합니다. 자세한 내용은 [언어 로캘 List]를 참조하세요
--remove <one or more workload or component IDs> 선택 사항: 수정 명령 중에 이 반복 가능한 매개 변수는 제거할 하나 이상의 워크로드 또는 구성 요소 ID를 지정합니다. --add 매개 변수를 보완하고 이 매개 변수와 유사하게 동작합니다.
이 페이지의 (#list-of-language-locales) 섹션입니다.
--removeProductLang <language-locale> 선택 사항: 설치 또는 수정 명령 중에 이 반복 가능한 매개 변수는 제품에서 제거해야 하는 UI 언어 팩을 결정합니다. --addProductLang 매개 변수를 보완하고 이 매개 변수와 유사하게 동작합니다.
--in <path> 선택 사항: 구성 설정을 포함할 수 있는 지시 파일의 URI 또는 경로입니다.
--quiet 선택 사항: 모든 명령과 함께 사용되며, 이 매개 변수는 명령이 실행되는 동안 사용자 인터페이스가 표시되지 않도록 합니다. 표준 사용자는 AllowStandardUserControl 정책이 설정된 방식과 무관하게 프로그래밍 방식으로 사용 불가능합니다.
--passive, -p 선택 사항: 이 매개 변수는 비대화형 방식으로 사용자 인터페이스가 표시되도록 합니다. 이 매개 변수는 --quiet 매개 변수와 함께 사용할 수 없으며, 사실 이 매개 변수를 재정의합니다. 또한 표준 사용자는 AllowStandardUserControl 정책이 설정된 방식과 무관하게 프로그래밍 방식으로 사용 불가능합니다.
--norestart 선택 사항: 이 매개 변수는 --passive 또는 --quiet 매개 변수와 쌍을 이루어야 합니다. 설치, 업데이트 또는 수정 명령 중에 --norestart 매개 변수를 추가하면 필요한 다시 시작이 연기됩니다.
--force 선택 사항: 이 매개 변수는 Visual Studio 프로세스가 사용 중인 경우에도 Visual Studio를 강제로 닫습니다. Visual Studio를 강제로 닫으면 작업이 손실될 수 있으므로 주의해서 사용해야 합니다.
--installWhileDownloading 선택 사항: 설치, 업데이트 또는 수정 명령 중에 이 매개 변수를 사용하면 Visual Studio에서 제품을 병렬로 다운로드 및 설치할 수 있습니다. 기본 환경입니다.
--downloadThenInstall 선택 사항: 설치, 업데이트 또는 수정 명령 중에 이 매개 변수는 강제로 Visual Studio가 모든 파일을 다운로드한 후 설치하도록 합니다. --installWhileDownloading 매개 변수와 함께 사용할 수 없습니다.
--nickname <name> 선택 사항: 설치 명령 중에 이 매개 변수는 설치된 제품에 할당할 닉네임을 정의합니다. 애칭은 10자를 초과할 수 없습니다.
--productKey 선택 사항: 설치 명령 중에 이 매개 변수는 설치된 제품에 사용할 제품 키를 정의합니다. 제품 키는 xxxxxxxxxxxxxxxxxxxxxxxxx 형식의 영문과 숫자를 혼용한 25자로 구성됩니다.
--removeOos true Optional: 설치, 업데이트 또는 수정 명령을 수행하는 동안, true 또는 false이 이어지는 매개 변수는 Visual Studio Installer가 지원되지 않는 상태로 전환된 설치된 모든 구성 요소를 제거할지 여부를 알려줍니다. 이 동작은 단일 이벤트에 적용할 수 있습니다. 이 동작을 영구적으로 설정하려면 이후에 설명된 modifySettings 명령에 이 매개 변수를 적용하거나 removeOOS 전역 정책을 구성합니다. 컴퓨터를 안전하게 유지하는 데 유용합니다.
--config <path to *.vsconfig file> Optional: 설치 또는 수정 작업 중에 --config 매개 변수를 사용하여 구성 파일을 전달하고 이전에 저장된 설치 구성 파일을 기반으로 추가할 워크로드, 구성 요소 또는 확장을 지정할 수 있습니다. 이 오퍼레이션은 가산적일 뿐, 파일에 지정되지 않은 항목을 제거하지 않습니다. 또한 제품에 적용되지 않는 config 파일에 지정된 항목은 추가되지 않습니다. config 파일의 정규화된 경로를 지정할 것을 적극 권장합니다. 내보내기 오퍼레이션 중에, 설치 구성 파일을 저장할 위치를 매개 변수가 결정합니다.
--allowUnsignedExtensions Optional: 설치 및 수정 오퍼레이션을 --passive 또는 --quiet 컨텍스트에서 --config 파일을 사용하여 실행하는 도중, 확장이 config 파일에 지정되지 않은 경우에 디지털 시그니처없이 확장을 로드하려면 이 매개 변수가 필요합니다.
--installerOnly Optional: 설치 또는 업데이트 오퍼레이션 중에, 이 매개 변수는 Visual Studio 제품 자체가 아니라 Visual Studio Installer(설치 관리자)만 설치하고 지시합니다. 해당 기능은 매개 변수 --update와 동일하지만 더 직관적입니다. 클라이언트 컴퓨터를 준비하고 미리 구성할 때 사용됩니다.
--help, --?, -h, -? 이 페이지의 오프라인 버전을 표시합니다.

레이아웃 명령 및 명령줄 매개 변수

레이아웃 만들기나 업데이트처럼 모든 레이아웃 관리 오퍼레이션에서는 부트스트래퍼 exe를 사용하여 실행되며 명령이 기본 설치(비어 있음)라고 가정합니다. 모든 레이아웃 관리 오퍼레이션은 --layout 초기 필수 매개 변수와 함께 시작해야 합니다. 다음 표에는 명령줄을 사용하여 레이아웃을 만들거나 업데이트하는 데 사용할 수 있는 그 밖의 매개 변수가 설명되어 있습니다.

레이아웃 매개 변수 설명
--layout <dir> 오프라인 설치 캐시를 만들거나 업데이트할 디렉터리를 지정합니다. 자세한 내용은 Visual Studio의 네트워크 기반 설치 만들기를 참조하세요.
--lang <one or more language-locales> Optional: --layout 와 함께 사용하여 지정된 하나 이상의 언어가 있는 리소스 패키지를 오프라인 설치 캐시와 함께 준비합니다. 자세한 내용은 이 페이지의 언어 로캘 목록 섹션을 참조하세요.
--add <one or more workload or component IDs> 선택 사항: 추가할 하나 이상의 작업 또는 구성 요소 ID입니다. 아티팩트의 필수 구성 요소가 설치되지만 권장 또는 선택적 구성 요소는 설치되지 않습니다. 추가 구성 요소를 제어하면서 --includeRecommended 및/또는 --includeOptional 를 전역적으로 사용할 수 있습니다. 더 세부적으로 제어하기 위해 ;includeRecommended 또는 ;includeOptional을 ID에 추가할 수 있습니다(예: --add Workload1;includeRecommended 또는 --add Workload2;includeOptional). 자세한 내용은 작업 및 구성 요소 ID 페이지를 참조하세요.
참고: --add를 사용하면 지정된 워크로드 및 구성 요소와 해당 종속성이 다운로드됩니다. --add가 지정되지 않으면 모든 워크로드 및 구성 요소가 레이아웃에 다운로드됩니다.
--includeRecommended 선택 사항: 설치된 모든 작업에 대한 권장 구성 요소를 포함하지만, 선택적 구성 요소는 포함하지 않습니다. 워크로드는 --allWorkloads 또는 --add를 사용하여 지정됩니다.
--includeOptional 선택 사항: 레이아웃에 포함되는 모든 워크로드에 대한 권장 선택적 명령을 포함합니다. 워크로드는 --add를 사용하여 지정됩니다.
--wait 선택 사항: 프로세스에서 설치가 완료될 때까지 기다린 후에 종료 코드를 반환합니다. wait 는 기능은 설치의 반환 코드를 처리하기 위해 설치가 완료할 때까지 기다려야 하는 설치를 자동화할 경우 유용합니다. 이 --wait 매개 변수는 부트스트래퍼에만 전달될 수 있으며 설치 관리자(setup.exe)는 지원하지 않습니다. 레이아웃을 업데이트할 때 유용합니다. 더 많은 예시를 여기에서 찾을 수 있습니다.
--useLatestInstaller 선택 사항: 2023년 4월 이전의 Visual Studio 부트스트래퍼에만 적용되는 레거시 기능입니다. 2023년 4월 이후에 제공된 모든 항목은 기본적으로 최신 설치 관리자를 사용합니다. 이 매개 변수가 있으면 Visual Studio 설치 관리자의 최신 버전이 제품의 최신 주 버전에 속하더라도 레이아웃에 포함됩니다. 최신 버전에서 사용 가능한 새로운 기능이나 버그 수정을 활용하려는 경우에 해당 최신 설치 관리자가 유용합니다. 자세한 내용은 항상 최신 설치 관리자를 사용하도록 레이아웃 구성 설명서를 참조하세요.
--config <path to *.vsconfig file> 선택 사항: 있는 경우 Visual Studio는 구성 파일의 콘텐츠를 사용하여 레이아웃을 구성합니다. 구성 파일의 정규화된 경로를 지정해야 합니다.
--noWeb 선택 사항: 있는 경우 Visual Studio 설치 프로그램은 레이아웃 디렉터리의 파일을 사용하여 Visual Studio를 설치하며 웹에서 패키지를 다운로드하지 않습니다. 사용자가 레이아웃에 없는 구성 요소를 설치하려고 시도하면 설치에 실패합니다. 내부 인트라넷 웹 사이트에서 호스트되는 레이아웃을 배포하려는 경우 이 매개 변수를 사용하지 마세요. 자세한 내용은 인터넷에 액세스할 수 없는 클라이언트에 설치를 참조하세요.

중요: --noWeb 매개 변수는 클라이언트가 Microsoft 호스팅 서버에서 업데이트를 확인하도록 구성된 경우 인터넷에 연결된 클라이언트 컴퓨터의 Visual Studio 설치 관리자가 업데이트를 확인하는 것을 중지하지 않습니다. 이 사례에서는 --noWeb에서 클라이언트가 제품 패키지를 다운로드하지 않도록 합니다.
--verify 선택 사항: 레이아웃의 콘텐츠를 확인합니다. 손상되거나 누락된 파일이 모두 나열됩니다.
--fix 선택 사항: 레이아웃의 콘텐츠를 확인합니다. 손상되거나 누락된 파일은 다시 다운로드됩니다. 레이아웃을 수정하려면 인터넷 액세스가 필요합니다.
--clean <one or more paths to catalogs> Optional: 최신 버전으로 업데이트된 레이아웃에서 이전 버전의 구성 요소를 제거합니다.
고급 레이아웃 매개 변수 설명
--channelId <id> 선택 사항: VisualStudio.17.Release와 같이 표시되는 인스턴스가 설치될 채널의 ID입니다. channelId는 설치 명령에 필요하며, --installPath 가 지정된 경우 다른 명령에서는 무시됩니다. --channelId의 구문 예제를 참조하세요.
--channelUri <uri> 선택 사항: 채널 매니페스트의 URI입니다. 이 값은 업데이트의 소스 위치를 제어하며 초기 값은 레이아웃의 response.json 파일에서 구성됩니다. 가능한 값은 --channelUri의 구문 예제를 참조하세요. 업데이트를 원하지 않는 경우 --channelUri는 존재하지 않는 파일(예: --channelUri C:\doesntExist.chman)을 가리킬 수 있습니다. 이 매개 변수는 명령에 사용할 수 있습니다. 다른 명령에서는 무시됩니다.
--installChannelUri <uri> 선택 사항: 설치에 사용할 채널 매니페스트의 URI입니다. --channelUri(--installChannelUri가 지정된 경우 지정해야 함)로 지정된 URI는 업데이트를 검색하는 데 사용됩니다. 이 매개 변수는 명령에 사용할 수 있습니다. 다른 명령에서는 무시됩니다.
--installCatalogUri <uri> 선택 사항: 설치에 사용할 카탈로그 매니페스트의 URI입니다. 지정된 경우 채널 관리자는 설치 채널 매니페스트의 URI를 사용하기 전에 이 URI에서 카탈로그 매니페스트를 다운로드하려고 합니다. 이 매개 변수는 이미 다운로드한 제품 카탈로그를 사용하여 레이아웃 캐시를 생성하는 오프라인 설치를 지원하는 데 사용됩니다. 이 매개 변수는 명령에 사용할 수 있습니다. 다른 명령에서는 무시됩니다.
--productId <id> Optional: 설치할 인스턴스의 제품 ID입니다. 이 매개 변수는 일반적인 설치 조건에서는 미리 채워져 있습니다. productID의 예는 “Microsoft.VisualStudio.Product.Enterprise”와 같습니다.
--arch all 선택 사항: 기본적으로 레이아웃은 x64 제품 이진 파일만 사용하여 만들어집니다. 레이아웃에 x64 이진 파일과 함께 적용 가능한 워크로드에 대한 ARM 이진 파일을 포함하려면 --arch all 또는 --arch * 매개 변수를 사용합니다. ARM 이진 파일만의 레이아웃을 만들려면 --arch arm64를 사용합니다.
--keepLayoutVersion 선택 사항: 레이아웃에 포함된 제품 버전을 업데이트하지 않고 레이아웃에 변경 내용을 적용합니다.
--locale <language-locale> 선택 사항: 설치 관리자의 사용자 인터페이스 표시 언어를 변경합니다. 설정은 유지됩니다. 자세한 내용은 이 페이지의 언어 로캘 목록 섹션을 참조하세요.
--cache 선택 사항: 이 매개 변수가 있으면 패키지가 이후 복구를 위해 설치된 후에도 유지됩니다. 이는 이후 설치, 복구 또는 수정에 사용할 전역 정책 설정을 재정의합니다. 기본 정책은 패키지를 캐시하는 것입니다. 제거 명령의 경우 무시됩니다. 자세한 내용은 패키지 캐시를 사용하지 않도록 설정 또는 이동하는 방법을 참조하세요.
--nocache 선택 사항: 이 매개 변수가 있으면 패키지가 설치 또는 복구된 후에 삭제됩니다. 필요한 경우에만 다시 다운로드되고 사용한 후 다시 삭제됩니다. 이는 이후 설치, 복구 또는 수정에 사용할 전역 정책 설정을 재정의합니다. 기본 정책은 패키지를 캐시하는 것입니다. 제거 명령의 경우 무시됩니다. 자세한 내용은 패키지 캐시를 사용하지 않도록 설정 또는 이동하는 방법을 참조하세요.
--noUpdateInstaller 선택 사항: 이 매개 변수가 있으면 quiet가 지정된 경우 설치 관리자가 자기 자신을 업데이트하지 않습니다. quiet와 함께 noUpdateInstaller가 지정되었는데 설치 프로그램 업데이트가 필요한 경우 설치 프로그램에서 명령을 실패로 처리하고 0이 아닌 종료 코드를 반환합니다.
--path <name>=<path> 선택 사항: 설치에 대해 사용자 지정 설치 경로를 지정하는 데 사용합니다. 지원되는 경로 이름은 공유, 캐시 및 설치입니다.
--path cache=<path> 선택 사항: 설치 파일을 다운로드하는 데 사용자가 지정한 위치를 사용합니다. 이 위치는 처음 Visual Studio를 설치할 때만 설정할 수 있습니다. 예: --path cache="C:\VS\cache"
--path shared=<path> 선택 사항: Visual Studio 병렬 설치를 위한 공유 파일을 포함합니다. 일부 도구 및 SDK가 이 드라이브의 위치에 설치되지만 나머지는 이 설정을 재정의하고 다른 드라이브에 설치될 수 있습니다. 예: --path shared="C:\VS\shared"

중요: 이 매개 변수는 Visual Studio를 처음 설치할 때 한 번만 설정하면 됩니다.
--path install=<path> 선택 사항: –-installPath에 해당합니다. 특히 --installPath "C:\VS"--path install="C:\VS"는 같습니다. 한 번에 이 명령 중 하나만 사용할 수 있습니다.

ModifySettings 명령 및 명령줄 매개 변수

클라이언트 컴퓨터의 설치 관리자 또는 부트스트래퍼를 사용하고 modifySettings 명령 및 원하는 업데이트 채널을 전달하여 업데이트 설정을 수정하고 Visual Studio의 지정된 인스턴스에 대한 업데이트 원본 위치를 프로그래밍 방식으로 구성할 수 있습니다.

Command 설명
modifySettings Visual Studio의 특정 인스턴스의 업데이트 설정을 수정하는 데 사용되는 동사입니다.
modifySettings 매개 변수 설명
--installPath <dir> 권장 Visual Studio에서 작업할 인스턴스를 지정하는 데 사용하세요.
--newChannelUri 필수: 채널 매니페스트의 URI입니다. 이 값은 다음 업데이트의 원본 위치를 지정합니다. 가능한 값은 --channelUri의 구문 예제를 참조하세요. 업데이트를 원하지 않는 경우 --channelUri는 존재하지 않는 파일(예: --channelUri C:\doesntExist.chman)을 가리킬 수 있습니다.
--channelUri 이전 채널 매니페스트의 URI입니다. --installPath를 알 수 없는 경우 사용할 수 있습니다. productID와 함께 사용하여 작동할 올바른 인스턴스를 식별해야 합니다.
--productId <id> --channelUri를 지정하고 작동할 올바른 인스턴스를 식별하는 데 사용되는 경우에 사용해야 합니다. productID의 예는 “Microsoft.VisualStudio.Product.Enterprise”와 같습니다.
--includeRecommended 선택 사항: modifySettings 명령 중에 이 매개 변수(뒤에 true 또는 false라는 단어가 있어야 함)는 업데이트 설정 대화 상자에서 “업데이트 시 설치된 워크로드에 권장 구성 요소 추가” 기능을 비활성화하도록 Visual Studio 설치 관리자에게 지시합니다.
--quiet 선택 사항: 이 매개 변수는 명령이 실행되는 동안 사용자 인터페이스가 표시되지 않도록 합니다. 표준 사용자가 프로그래밍 방식으로 사용할 수 없습니다.
--removeOos true 선택 사항: modifySettings 명령 중에 이 매개 변수(바로 뒤에 true 또는 false라는 단어가 있어야 함)는 Visual Studio 설치 관리자에게 지원되지 않음 상태로 전환된 모든 구성 요소를 “지속적으로” 제거하도록(또는 제거하지 않도록) 지시합니다. 컴퓨터를 안전하게 유지하는 데 유용합니다.

구문 예제:

C:\>"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" modifySettings --installPath "C:\Program Files\Microsoft\Visual Studio\2022\Enterprise" --newChannelUri https://aka.ms/vs/17/release.LTSC.17.0/channel --removeOos true
 C:\>"C:\Program Files\Microsoft\Visual Studio\2022\Enterprise\vs_enterprise.exe" modifySettings --channelUri https://aka.ms/vs/17/release.LTSC.17.0/channel --productID Microsoft.VisualStudio.Product.Enterprise --newChannelUri \\layoutserver\share\path\channelmanifest.json --removeOos true --quiet

롤백 명령 및 명령줄 매개 변수

Visual Studio 2022부터, 클라이언트 컴퓨터에서 설치 관리자를 사용하고 롤백 명령을 설치 경로 인스턴스와 함께 전달하여 프로그래밍 방식으로 업데이트를 롤백할 수 있습니다.

Command 설명
rollback Visual Studio의 특정 인스턴스를 이전에 설치된 업데이트로 롤백하는 명령입니다. DisableRollback가 사용하도록 설정된 경우 이 명령은 작동하지 않습니다.
롤백 매개 변수 설명
--installPath <dir> 권장 Visual Studio에서 작업할 인스턴스를 지정하는 데 사용하세요.

구문 예제:

"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" rollback -–installPath "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"

관리자 업데이트 명령 및 명령줄 매개 변수

Microsoft 업데이트 카탈로그에서 관리자 업데이트를 다운로드하여 클라이언트 설치 또는 레이아웃을 업데이트하는 데 사용할 수 있습니다.

레이아웃 업데이트

레이아웃을 특정 버전의 Visual Studio로 업데이트하는 경우 레이아웃을 호스팅하는 컴퓨터에 관리자 업데이트를 다운로드하고 해당 컴퓨터에서 명령 프롬프트를 열고 다음과 같은 명령을 실행하면 됩니다.

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

클라이언트 업데이트

클라이언트에서 클라이언트 머신의 설치 디렉터리로 관리자 업데이트를 다운로드하는 경우 해당 파일을 두 번 클릭하기만 하면 업데이트가 적용됩니다. 명령 창을 열고 아래의 몇 가지 매개 변수를 전달하여 기본 동작을 변경할 수도 있습니다.

SCCM에서 관리자 업데이트 구성

Microsoft Endpoint Manager(SCCM)를 통해 관리자 업데이트를 배포하는 경우 아래 매개 변수를 사용하여 동작을 조정하도록 패키지를 수정할 수 있습니다. 클라이언트 머신의 구성 파일을 통해 매개 변수를 제어할 수도 있습니다. 자세한 내용은 관리자 업데이트를 구성하는 방법을 참조하세요.

레이아웃 동사가 지정되지 않는 한 모든 관리자 업데이트 매개 변수는 기본적으로 “update” 컨텍스트에서 실행됩니다.

관리자 업데이트 매개 변수 설명
--installerUpdateArgs [optional parameters] 이 매개 변수는 관리자 업데이트 시나리오와 관련된 특정 매개 변수의 “통과 배열”로 작동합니다. 이 용도로 사용할 수 있는 선택적 매개 변수는 다음과 같습니다.

--quiet: 관리자 업데이트의 기본 환경이며 완전성을 위해 여기에 나열되어 있습니다.
--passive: 이 매개 변수는 --quiet 매개 변수를 재정의합니다. 이 매개 변수는 UI가 비대화형 방식으로 표시되도록 합니다.
--norestart: 이 매개 변수는 --quiet 또는 --passive와 함께 사용해야 하며 필요한 다시 시작이 연기되도록 합니다.
--noWeb: 이 매개 변수는 Visual Studio가 인터넷에서 제품의 업데이트를 확인하지 못하도록 합니다.
--force: 이 매개 변수는 Visual Studio가 사용 중인 경우에도 Visual Studio를 강제로 닫습니다. 그러면 작업이 손실될 수 있으므로 이 매개 변수는 주의해서 사용하세요. 이 매개 변수는 관리자 업데이트가 사용자 컨텍스트에서 실행되는 경우에만 사용해야 합니다. 관리자 업데이트가 시스템 컨텍스트에서 실행되면 무시됩니다.
--installWhileDownloading: 이 매개 변수를 사용하면 Visual Studio에서 제품을 병렬로 다운로드 및 설치할 수 있습니다. 관리자 업데이트의 기본 환경이며 완전성을 위해 여기에 나열되어 있습니다.
--keepWindowsUpdateOn: 이 매개 변수를 사용하면 설치 관리자가 클라이언트에서 Windows 업데이트 에이전트를 끌 수 없습니다. 관리자 업데이트를 카탈로그에서 SCCM으로 가져오는 경우 이 매개 변수를 사용해야 합니다. SCCM 패키지 시간 제한을 기본값 10분보다 길게 설정해야 할 수도 있습니다. SCCM 배포 유형을 필수로 변경하면 이 매개 변수가 필요하지 않습니다.
--downloadThenInstall: 이 매개 변수는 강제로 Visual Studio가 모든 파일을 다운로드한 후 설치하도록 합니다. --installWhileDownloading 매개 변수와 함께 사용할 수 없습니다.
--checkPendingReboot 원인이 되는 애플리케이션이 무엇인지와 관계없이 머신에 보류 중인 다시 시작이 있으면 업데이트가 중단됩니다. 기본값은 보류 중인 다시 시작을 확인하지 않는 것입니다.

매개 변수를 관리자 업데이트에 전달하는 구문 예제:

visualstudioupdate-16.9.0to16.9.4.exe --installerUpdateArgs=--force,--noWeb,--keepWindowsUpdateOn --checkPendingReboot

채널 제거 명령 및 명령줄 매개 변수

업데이트할 수 있는 채널은 클라이언트에 캐시되어 시간이 지남에 따라 복잡해질 수 있습니다. Visual Studio 설치 관리자를 가져오고, 사용 가능 탭으로 전환하고, 제품 카드의 오른쪽 위 모서리에 있는 X를 클릭하여 수동으로 업데이트 채널을 제거할 수 있습니다. removeChannel 명령을 사용하여 프로그래밍 방식으로 채널(예: 이전 레이아웃 위치)을 제거할 수 있습니다. 클라이언트 컴퓨터에서 프로그래밍 방식으로 vswhere를 실행하여 클라이언트 컴퓨터에 캐시되는 채널을 확인할 수 있습니다.

Command 설명
removeChannel 클라이언트 컴퓨터에서 채널을 제거하는 명령입니다.
removeChannel 매개 변수 설명
--channelUri 필수 이전 채널 매니페스트의 URI입니다.
--quiet 선택 사항 이 매개 변수는 명령이 실행되는 동안 사용자 인터페이스가 표시되지 않도록 합니다.
--passive 선택 사항 이 매개 변수는 --quiet 매개 변수를 재정의합니다. 이 매개 변수는 UI가 비대화형 방식으로 표시되도록 합니다.

구문 예제:

"C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe" removeChannel --channelUri "\\\\server\\share\\layoutdirectory\\ChannelManifest.json"

winget을 사용하여 Visual Studio 설치 또는 수정

Windows 패키지 관리자 "winget" 도구를 사용하여 winget에서 관리하는 다른 패키지와 함께 컴퓨터에 Visual Studio를 프로그래밍 방식으로 설치, 수정하거나 업데이트할 수 있습니다.

기본적으로 winget은 Visual Studio 코어 워크로드만 설치합니다.

winget install --id Microsoft.VisualStudio.2022.Community

그러나 설치를 사용자 지정하고 초기 설치 중에 획득할 추가 워크로드 및 구성 요소를 지정하려는 경우 Winget의 --override 명령과 함께 Winget의 install 스위치를 사용하고 추가할 워크로드 및 구성 요소가 포함된 내보낸 vsconfig 파일을 전달할 수 있습니다.

winget install --id Microsoft.VisualStudio.2022.Community --override "--passive --config c:\my.vsconfig"

물론 다음과 같이 초기 설치 중에 구성 요소를 직접 포함할 수도 있습니다.

 winget install --id Microsoft.VisualStudio.2022.Community --override "--quiet --add Microsoft.Visualstudio.Workload.Azure"

컴퓨터에 이미 Visual Studio가 설치되어 있는 경우 configure, yaml 파일 및 .vsconfig 파일과 함께 Winget의 명령을 사용하여 기존 Visual Studio 설치에 구성 요소를 추가할 수 있습니다. Winget의 configure 명령은 기본적으로 Visual Studio "수정" 작업 역할을 합니다. WinGet 구성 파일을 작성하여 winget 구성을 만드는 방법을 알아봅니다.

--override 스위치나 Visual Studio DSC 공급자를 Winget의 upgrade 명령과 함께 사용할 수 없습니다. upgrade는 기본적으로 Visual Studio "업데이트" 작업 역할을 하고 이미 선택한 구성 요소의 최신 버전을 설치하기 때문입니다. 업데이트/업그레이드를 통해 구성 요소를 추가할 수 없습니다. winget의 configure를 사용하여 구성 요소를 추가해야 합니다.

Visual Studio 설치 관리자 작업에는 현재 관리자 권한이 필요하므로 winget은 명령을 완료하는 데 필요한 경우 권한을 상승하라는 메시지를 표시합니다. 또한 현재 winget을 사용하여 여러 버전(즉, 다른 SKU) 또는 동일한 SKU의 여러 인스턴스를 클라이언트 컴퓨터에 동시에 설치할 수 없습니다. 마지막으로 구성 요소를 추가하거나 최신 버전으로 업그레이드하도록 구성(수정)하려는 경우 Visual Studio를 닫아야 합니다.

작업 ID 및 구성 요소 ID 목록

Visual Studio 제품별로 정렬된 워크로드 및 구성 요소 ID 목록은 Visual Studio 워크로드 및 구성 요소 ID 페이지를 참조하세요.

언어 로캘 목록

언어 로캘 언어
Cs-cz 체코어
De-de 독일어
En-us 영어
Es-es 스페인어
Fr-fr 프랑스어
It-it 이탈리아어
Ja-jp 일본어
Ko-kr 한국어
Pl-pl 폴란드어
Pt-br 포르투갈어 - 브라질
Ru-ru 러시아어
Tr-tr 터키어
Zh-cn 중국어 - 간체
Zh-tw 중국어 - 번체

오류 코드

작업 결과에 따라 %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)
오류 조건 발생 - 자세한 내용은 로그를 확인하세요.

각 작업은 %TEMP% 디렉터리에 설치 진행률을 나타내는 여러 로그 파일을 생성합니다. 폴더를 날짜별로 정렬하고 부트스트래퍼, 설치 관리자 앱 및 설치 엔진 각각에 대해 dd_bootstrapper, dd_clientdd_setup으로 시작하는 파일을 찾습니다.

지원 또는 문제 해결

때로는 어떠한 점이 잘못될 수도 있습니다. Visual Studio 설치에 실패하는 경우 단계별 지침은 Visual Studio 설치 및 업그레이드 문제 해결을 참조하세요.

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