응답 파일을 사용하여 설치 기본 설정 구성

이 항목에서는 Visual Studio 설치를 자동화하는 데 도움이 되는 JSON 지시 파일을 만드는 방법을 알아봅니다. Visual Studio를 레이아웃에서 설치할 때 가장 일반적으로 사용됩니다.

Visual Studio 응답 파일은 클라이언트에 Visual Studio를 처음 설치하는 동안 사용되는 사용자 지정 내용이 포함된 JSON 파일입니다. 해당 내용은 명령줄 인수 및 매개 변수를 미러. 응답 파일을 사용해야 하는 구성 옵션은 다음과 같습니다.

응답 파일 만들기

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 예제 파일은 여러 공통 워크로드 및 구성 요소를 선택하고, 영어 및 프랑스어 UI 언어를 선택하고, 업데이트 위치가 호스트된 네트워크 레이아웃에서 소스를 찾도록 구성하도록 Visual Studio 2019 Enterprise 클라이언트 설치를 초기화합니다. 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 2022 Enterprise 클라이언트 설치를 초기화합니다.

{
  "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 설치 및 업그레이드 문제 해결을 참조하세요.

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