Definir as configurações padrão de instalação usando um arquivo de resposta

Neste artigo, você aprenderá a criar um arquivo de resposta que ajuda a automatizar a instalação do Visual Studio. É mais comumente usado quando você instala o Visual Studio a partir de um layout.

O arquivo de resposta do Visual Studio é um arquivo JSON cujo conteúdo contém personalizações usadas durante a instalação inicial do Visual Studio no cliente. O conteúdo espelha os argumentos e os parâmetros da linha de comando. Use o arquivo de resposta para as seguintes opções de configuração:

Criar o arquivo de resposta

O arquivo response.json normalmente é criado quando um administrador cria um layout e fica na pasta raiz do layout. No entanto, você pode criar seu próprio arquivo de resposta com um dos exemplos abaixo.

Especificar o arquivo de resposta

Se um administrador implantar o Visual Studio invocando o bootstrapper de um layout, o arquivo de resposta encontrado no diretório raiz do layout será usado automaticamente. Os administradores também podem optar por especificar explicitamente um arquivo de resposta diferente usando o parâmetro --in , como no exemplo a seguir:

\\server\share\layoutdirectory\vs_enterprise.exe --in custom_response_file.json

Conteúdos do arquivo de resposta

O arquivo de resposta encapsula parâmetros de linha de comando usados pelo instalador do Visual Studio e segue estas regras gerais:

  • Se um parâmetro de linha de comando não usa nenhum argumento (por exemplo, --quiet, --passive, includeRecommended, removeOos, useLatestInstaller, allowUnsignedExtensions, etc.), o valor no arquivo de resposta deverá ser true/false.
  • Se o parâmetro usar um argumento (por exemplo, --installPath <dir>, --config <*.vsconfig file>), to valor no arquivo de resposta deverá ser uma cadeia de caracteres.
  • Se o parâmetro usa um argumento e pode aparecer na linha de comando mais de uma vez (por exemplo, --add <id>), o valor no arquivo de resposta deverá ser uma matriz de cadeias de caracteres.

Parâmetros que são especificados na linha de comando substituem as configurações que foram incluídas no arquivo de resposta, exceto quando os parâmetros recebem várias entradas (por exemplo, --add). Quando você tiver várias entradas, as entradas fornecidas na linha de comando serão mescladas com as configurações do arquivo de resposta.

Configurar o arquivo de resposta usado ao instalar usando um layout

Se você criou um layout usando o comando --layout, um arquivo response.json padrão será criado na raiz da pasta de layout. Espera-se que os administradores modifiquem e personalizem o arquivo de resposta adequadamente antes de fazer a instalação em um computador cliente. Dessa forma, eles podem controlar as configurações iniciais do cliente.

As configurações no arquivo response.json são referenciadas somente ao executar um bootstrapper (por exemplo, vs_enterprise.exe). Normalmente, os bootstrappers são usados para executar a instalação inicial no cliente, mas às vezes também são usados para atualizar um cliente. O response.json nunca é usado quando você inicia o instalador localmente no cliente.

Se o administrador criou um layout parcial, o arquivo response.json padrão no layout especificará apenas as cargas de trabalho e os idiomas incluídos no layout parcial.

Se o layout for criado transmitindo um arquivo --config *.vsconfig, o arquivo *.vsconfig será copiado para o diretório de layout como layout.vsconfig e esse arquivo de configuração será referenciado no arquivo response.json. Dessa forma, você pode usar arquivos de configuração para inicializar instalações de cliente provenientes de um layout.

Preste atenção especial à configuração channelUri, que configura onde o cliente vai procurar atualizações. A configuração padrão é que o cliente examine os servidores hospedados pela Microsoft na Internet para obter atualizações. Você precisará alterar o valor de channelUri e apontá-lo para o layout se quiser que os clientes obtenham atualizações do layout. Exemplos de como fazer isso estão detalhados abaixo. Você sempre pode alterar onde um cliente procura atualizações no futuro executando o instalador no cliente e invocando o comando modifySettings.

Se a instalação do cliente não for concluída usando o modo --quiet ou --passive, os usuários poderão substituir os padrões especificados no response.json e selecionar ou desmarcar cargas de trabalho e componentes adicionais para instalar.

Aviso

Tenha muito cuidado ao editar as propriedades no response.json definido quando o layout foi criado, pois alguns itens são necessários para instalação.

O arquivo response.json base em um layout deve ser semelhante ao exemplo a seguir, exceto pelo fato de que a productID refletiria a edição em seu layout.

{
  "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"
}

Quando você cria ou atualiza um layout, um arquivo response.template.json também é criado. Esse arquivo contém todas as IDs de carga de trabalho, de componente e de idioma que podem ser usadas. Esse arquivo é fornecido como um modelo para o qual todas poderiam ser incluídas em uma instalação personalizada. Os administradores podem usar esse arquivo como um ponto de partida para um arquivo de resposta personalizado. Basta remover as IDs dos itens que você não deseja instalar e salvá-las em um arquivo response.json ou no próprio arquivo de resposta. Não personalize o arquivo response.template.json, caso contrário, as alterações serão perdidas sempre que o layout for atualizado.

Exemplo de conteúdo de arquivo de resposta de layout de exemplo

O exemplo de arquivo response.json a seguir inicializará uma instalação de cliente do Visual Studio 2019 Enterprise para selecionar várias cargas de trabalho e componentes comuns, para selecionar os idiomas da interface do usuário em inglês e francês e para contar com o local de atualização configurado para procurar fontes em um layout hospedado na rede. Observe que, para o Visual Studio 2019, o local de atualização (channelUri) só pode ser configurado durante a instalação inicial e não pode ser alterado após o fato , a menos que você use a funcionalidade no instalador mais recente. Confira Configurar políticas para implantações corporativas do Visual Studio e Configurar o layout para sempre incluir e fornecer o instalador mais recente para obter informações sobre como configurá-lo.

{
  "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"
    ]
}

No exemplo a seguir, o arquivo response.json inicializa uma instalação de cliente do Visual Studio 2022 Enterprise que:

{
  "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"
    ]

}

Aviso

Se você estiver usando layouts hospedados na Web da intranet, a definição de “noWeb”: true no response.json não funcionará. Isso desabilitará o protocolo http e impedirá que o cliente acesse o site.

Solução de problemas

Se você tiver um problema com o bootstrapper do Visual Studio lançando um erro ao emparelhá-lo com um arquivo response.json, confira Solucionar erros relacionados à rede ao instalar ou usar a página do Visual Studio para obter mais informações.

Suporte ou solução de problemas

Às vezes, as coisas podem dar errado. Se a instalação do Visual Studio falhar, confira Solução de problemas de instalação e atualização do Visual Studio para obter diretrizes passo a passo.

Aqui estão algumas outras opções de suporte: