응답 파일을 사용하여 설치 기본 설정 구성
이 문서에서는 Visual Studio 설치를 자동화하는 데 도움이 되는 응답 파일을 만드는 방법을 알아봅니다. 가장 일반적인 용도는 레이아웃에서 Visual Studio를 설치하는 경우입니다.
Visual Studio 응답 파일은 클라이언트에 Visual Studio를 처음 설치하는 동안 사용되는 사용자 지정 내용이 포함된 JSON 파일입니다. 해당 내용은 명령줄 인수 및 매개 변수를 미러. 응답 파일을 사용해야 하는 구성 옵션은 다음과 같습니다.
- 초기 설치 중에 기본 값으로 선택할 워크로드, 구성 요소, 또는 언어를 구성하기.
- 팀이 표준화한 설치 구성
*.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
에 지정된 기본값을 재정의하고 추가로 설치에 필요한 워크로드와 구성 요소를 선택 혹은 선택 취소할 수 있습니다.
Warning
일부 항목이 설치하는데 필요하므로, 레이아웃이 만들어졌을 때 정의된 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"
]
}
Warning
인트라넷 웹 호스팅 레이아웃을 사용하는 경우 "noWeb"을 설정할 수 없습니다. response.json true이며 작동할 것으로 예상합니다. 이렇게 하면 http 프로토콜이 비활성화되고 클라이언트가 웹 사이트에 액세스하지 못하게 됩니다.
문제 해결
response.json
파일과 함께 사용할 때 Visual Studio 부트스트래퍼에서 오류가 throw하는 문제가 발생할 경우 자세한 내용은 Visual Studio 설치 또는 사용 시의 네트워크 관련 오류 문제 해결 페이지를 참조하세요.
지원 또는 문제 해결
때로는 어떠한 점이 잘못될 수도 있습니다. Visual Studio 설치에 실패하는 경우 단계별 지침은 Visual Studio 설치 및 업그레이드 문제 해결을 참조하세요.
몇 가지 추가 지원 옵션은 다음과 같습니다.
- 설치 관련 문제에는 설치 채팅(영어 전용) 지원 옵션을 사용합니다.
- Visual Studio 설치 관리자와 Visual Studio IDE 모두에 표시되는 문제 보고 도구를 사용하여 제품 문제를 보고합니다. IT 관리자이고 Visual Studio가 설치되어 있지 않은 경우 IT 관리자 피드백을(를) 제출할 수 있습니다.
- Visual Studio 개발자 커뮤니티에서 기능을 제안하고, 제품 문제를 추적하고, 답변을 찾습니다.