응답 파일을 사용하여 설치 기본 설정 구성
이 문서에서는 Visual Studio 설치를 자동화하는 데 도움이 되는 응답 파일을 만드는 방법을 알아봅니다. 가장 일반적인 용도는 레이아웃Visual Studio를 설치하는 경우입니다.
Visual Studio 응답 파일은 JSON 파일로, 이 파일에는 Visual Studio를 클라이언트에 처음 설치하는 동안 사용된 사용자 지정 내용이 포함됩니다. 해당 내용은 명령줄 인수 및 매개 변수미러링됩니다. 다음 구성 옵션에 응답 파일을 사용합니다.
- 초기 설치 중에 기본적으로 선택해야 하는 워크로드, 구성 요소 또는 언어를 구성합니다.
- 팀이 표준화한 설치 구성
*.vsconfig
파일 참조합니다. - 클라이언트가업데이트를 받을 장소로을 지정합니다. 예를 들어 인터넷 또는 관리자가 제어하는 네트워크 레이아웃 위치의 기본 Microsoft 호스트 서버가 있습니다.
- 업데이트 중에 지원되지 않는 구성 요소의 자동 제거.
응답 파일 만들기
response.json
파일은 일반적으로 관리자 레이아웃 만들 때 만들어지고 레이아웃의 루트 폴더에서 찾을 수 있습니다. 그러나 다음 예제 중 하나를 사용하여 고유한 응답 파일을 만들 수 있습니다.
응답 파일 지정
관리자 레이아웃부트스트래퍼를 호출하여 Visual Studio를 배포하는 경우 레이아웃의 루트 디렉터리에 있는 응답 파일이 자동으로 사용됩니다. 관리자는 다음 예제와 같이 --in
매개 변수를 사용하여 다른 응답 파일을 명시적으로 지정할 수도 있습니다.
\\server\share\layoutdirectory\vs_enterprise.exe --in custom_response_file.json
응답 파일 내용
응답 파일은 Visual Studio 설치 관리자에서 사용하는 명령줄 매개 변수를 캡슐화하며 다음과 같은 일반적인 규칙을 따릅니다.
- 명령줄 매개 변수가 인수(예:
--quiet
,--passive
,includeRecommended
,removeOos
,useLatestInstaller
,allowUnsignedExtensions
등)를 사용하지 않는 경우 응답 파일의 값은 true/false여야 합니다. - 매개 변수가 인수(예:
--installPath <dir>
,--config <*.vsconfig file>
)를 사용하는 경우 응답 파일의 값은 문자열이어야 합니다. - 매개 변수가 인수를 사용하고 명령줄에 두 번 이상 나타날 수 있는 경우(예:
--add <id>
) 응답 파일의 값은 문자열 배열이어야 합니다.
명령줄에 지정된 매개 변수는 매개 변수가 여러 입력(예: --add
)을 사용하는 경우를 제외하고 응답 파일에 포함된 설정을 재정의합니다. 입력이 여러 대 있는 경우 명령줄에 제공된 입력이 응답 파일의 설정과 병합됩니다.
레이아웃에서 설치할 때 사용되는 응답 파일 구성
--layout
명령을 사용하여 레이아웃을 만드는 경우 레이아웃 폴더의 루트에 기본 response.json
파일이 만들어집니다. 관리자는 클라이언트 컴퓨터에 설치하기 전에 적절하게 응답 파일을 수정하고 사용자 지정해야 합니다. 이렇게 하면 클라이언트의 초기 구성 설정을 제어할 수 있습니다.
response.json
파일의 구성 설정은 부트스트래퍼 실행할 때만 참조됩니다(예: vs_enterprise.exe). 부트스트래퍼는 일반적으로 클라이언트에서 초기 설치를 수행하는 데 사용되지만 클라이언트를 업데이트하는 데 사용되는 경우도 있습니다.
response.json
클라이언트에서 로컬로 설치 관리자를 시작할 때 사용되지 않습니다.
관리자가 부분 레이아웃을 만든 경우 레이아웃의 기본 response.json
파일은 부분 레이아웃에 포함된 워크로드 및 언어만 지정합니다.
--config *.vsconfig
파일을 전달하여 레이아웃을 만든 경우 *.vsconfig
파일이 layout.vsconfig
레이아웃 디렉터리에 복사되고 이 구성 파일은 response.json
파일에서 참조됩니다. 이렇게 하면 구성 파일을 사용하여 레이아웃에서 제공되는 클라이언트 설치를 초기화할 수 있습니다.
channelUri 설정은 클라이언트가 에서 업데이트를 찾도록을 구성하므로 특히 주의해야 합니다. 기본 구성은 클라이언트가 인터넷에서 Microsoft 호스팅 서버를 보고 업데이트를 확인하도록 하는 것입니다. 클라이언트가 귀하의 레이아웃에서 업데이트를 받으려면, channelUri의 값을 변경하여 자신의 레이아웃을 가리키도록 설정하십시오. 이 작업을 수행하는 방법에 대한 예제는 아래에자세히 설명되어 있습니다. 클라이언트에서 설치 관리자를 실행하고 modifySettings
명령 호출하여클라이언트가 나중에 업데이트를 찾는 위치를 언제든지 변경할 수 있습니다.
클라이언트 설치가 모드가 아닌 --quiet
또는 --passive
모드를 사용하여 수행되지 않은 경우, 사용자는 response.json
에 지정된 기본값을 재정의할 수 있으며, 추가 워크로드 및 구성 요소를 선택하거나 선택 해제할 수 있습니다.
경고
레이아웃을 만들 때 정의된 response.json
속성을 편집할 때는 일부 항목이 설치에 필요하므로 매우 주의해야 합니다.
레이아웃의 기본 response.json
파일은 productID가 레이아웃의 버전을 반영한다는 점을 제외하고 다음 예제와 유사해야 합니다.
{
"installChannelUri": ".\\ChannelManifest.json",
"channelUri": "https://aka.ms/vs/16/release/channel",
"installCatalogUri": ".\\Catalog.json",
"channelId": "VisualStudio.16.Release",
"productId": "Microsoft.VisualStudio.Product.Enterprise"
}
{
"installChannelUri": ".\\ChannelManifest.json",
"channelUri": "https://aka.ms/vs/17/release/channel",
"installCatalogUri": ".\\Catalog.json",
"channelId": "VisualStudio.17.Release",
"productId": "Microsoft.VisualStudio.Product.Enterprise"
}
{
"installChannelUri": ".\\ChannelManifest.json",
"channelUri": "https://aka.ms/vs/17/release.ltsc.17.0/channel",
"installCatalogUri": ".\\Catalog.json",
"channelId": "VisualStudio.17.Release.LTSC.17.0",
"productId": "Microsoft.VisualStudio.Product.Enterprise"
}
레이아웃을 만들거나 업데이트하면 response.template.json 파일도 만들어집니다. 이 파일에는 사용할 수 있는 모든 워크로드, 구성 요소 및 언어 ID가 포함되어 있습니다. 이 파일은 사용자 지정 설치에 모두 포함될 수 있는 항목에 대한 템플릿으로 제공됩니다. 관리자는 이 파일을 사용자 지정 응답 파일의 시작점으로 사용할 수 있습니다. 설치하지 않으려는 항목의 ID를 제거하고 response.json
파일 또는 사용자 고유의 응답 파일에 저장하기만 하면 됩니다. response.template.json 파일을 사용자 지정하지 마세요. 레이아웃이 업데이트되면 변경 내용이 손실됩니다.
사용자 지정된 레이아웃 응답 파일 콘텐츠 예제
다음 response.json
파일 예제에서는 Visual Studio Enterprise 클라이언트 설치를 초기화하여 몇 가지 일반적인 워크로드 및 구성 요소를 선택하고, 영어 및 프랑스어 UI 언어를 모두 선택하고, 네트워크 호스팅 레이아웃에서 원본을 찾도록 업데이트 위치를 구성합니다. Visual Studio 2019의 경우 업데이트 위치(channelUri)는 초기 설치 중에만 구성할 수 있으며, 최신 설치 관리자의 기능을 사용하지 않는 한 팩트 후에는 변경할 수 없습니다. Visual Studio 엔터프라이즈 배포에 대한 구성 정책과 이를 구성하는 방법에 대한 자세한 내용은 항상 최신 설치 관리자 포함하고 제공하도록 레이아웃 구성 참조하세요.
{
"installChannelUri": ".\\ChannelManifest.json",
"channelUri": "\\\\server\\share\\layoutdirectory\\ChannelManifest.json",
"installCatalogUri": ".\\Catalog.json",
"channelId": "VisualStudio.16.Release",
"productId": "Microsoft.VisualStudio.Product.Enterprise",
"installPath": "C:\\VS2019",
"quiet": false,
"passive": false,
"includeRecommended": true,
"norestart": false,
"useLatestInstaller": true,
"removeOos": true,
"addProductLang": [
"en-US",
"fr-FR"
],
"add": [
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.Data",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.NetWeb",
"Microsoft.VisualStudio.Workload.Office",
"Microsoft.VisualStudio.Workload.Universal",
"Component.GitHub.VisualStudio"
]
}
다음 response.json
파일 예제에서는 Visual Studio Enterprise 클라이언트 설치를 초기화하여 몇 가지 일반적인 워크로드 및 구성 요소를 선택하고, 영어 및 프랑스어 UI 언어를 모두 선택하고, 네트워크 호스팅 레이아웃에서 원본을 찾도록 업데이트 위치를 구성합니다. Visual Studio 엔터프라이즈 배포에 대한 구성 정책과 이를 구성하는 방법에 대한 자세한 내용은 항상 최신 설치 관리자 포함하고 제공하도록 레이아웃 구성 참조하세요.
{
"installChannelUri": ".\\ChannelManifest.json",
"channelUri": "\\\\server\\share\\layoutdirectory\\ChannelManifest.json",
"installCatalogUri": ".\\Catalog.json",
"channelId": "VisualStudio.17.Release",
"productId": "Microsoft.VisualStudio.Product.Enterprise",
"installPath": "C:\\VS2022",
"quiet": false,
"passive": false,
"includeRecommended": true,
"norestart": false,
"useLatestInstaller": true,
"removeOos": true,
"addProductLang": [
"en-US",
"fr-FR"
],
"add": [
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.Data",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.NetWeb",
"Microsoft.VisualStudio.Workload.Office",
"Microsoft.VisualStudio.Workload.Universal",
"Component.GitHub.VisualStudio"
]
}
다음 예제에서 response.json
파일은 Visual Studio Enterprise 클라이언트 설치를 초기화합니다.
- 워크로드, 구성 요소 및 확장을 설치하기 위한 구성을 정의하는 *.vsconfig 파일을 사용합니다
- 영어 및 프랑스어 UI 언어를 모두 선택합니다.
- 업데이트 위치를 http로 호스팅된 레이아웃에서 원본을 찾도록 구성합니다.
- 서명이 없는 확장 을 프로그래밍 방식으로 로딩할 수 있도록 허용합니다.
- 클라이언트업데이트할 때 지원되지 않는 상태로 전환된 구성 요소를 제거합니다. 지원 종료 구성 요소 목록을 여기에서참조하세요.
{
"installChannelUri": ".\\ChannelManifest.json",
"channelUri": "http://MyCompanyIntranetSite/VS2022Enterprise/ChannelManifest.json",
"installCatalogUri": ".\\Catalog.json",
"channelId": "VisualStudio.17.Release",
"productId": "Microsoft.VisualStudio.Product.Enterprise",
"arch": "x64",
"config": ".\\Layout.vsconfig"
"installPath": "C:\\VS2022",
"quiet": false,
"passive": false,
"includeRecommended": true,
"norestart": false,
"useLatestInstaller": true,
"removeOos": true,
"allowUnsignedExtensions": true,
"addProductLang": [
"en-US",
"fr-FR"
]
}
경고
인트라넷 웹 호스팅 레이아웃을 사용하는 경우 "noWeb"을 설정할 수 없습니다. response.json true이며 작동할 것으로 예상합니다. 이렇게 하면 http 프로토콜이 비활성화되고 클라이언트가 웹 사이트에 액세스하지 못하게 됩니다.
문제 해결
Visual Studio 부트스트래퍼를 response.json
파일과 페어링할 때 오류가 발생하는 경우, 더 많은 정보를 얻으려면 Visual Studio를 설치하거나 사용할 때의 네트워크 관련 오류 해결 페이지를 참고하시기 바랍니다.
지원 또는 문제 해결
때로는 상황이 잘못 될 수 있습니다. Visual Studio 설치가 실패하는 경우 단계별 지침은 Visual Studio 설치 및 업그레이드 문제 해결 참조하세요.
다음은 몇 가지 추가 지원 옵션입니다.
- 설치 관련 문제에는 설치 채팅(영어 전용) 지원 옵션을 사용합니다.
- Visual Studio 설치 관리자와 Visual Studio IDE 모두에 표시되는 문제 보고 도구를 사용하여 제품 문제를 보고합니다. Visual Studio가 설치되어 있지 않은 IT 관리자라면 IT 관리자 피드백을 제출할 수 있습니다.
- 기능을 제안하고, 제품 문제를 추적하고, Visual Studio 개발자 커뮤니티답변을 찾습니다.
관련 콘텐츠
- Visual Studio 관리자 가이드
- Visual Studio 네트워크 설치 만들기 및 유지 관리
- Visual Studio를 레이아웃에서 클라이언트 머신에 배포
- 엔터프라이즈 배포 정책 구성
- Visual Studio 워크로드 및 구성 요소 ID
- Visual Studio 설치하거나 사용할 때 네트워크 관련 오류 해결