Compartilhar via


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 o ajudará a automatizar a instalação do Visual Studio. Seu uso mais comum é 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 usando um dos exemplos a seguir.

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 é 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ê criar um layout usando o comando --layout, um arquivo response.json padrão é 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 definições de configuração 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 especifica 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 é copiado para o diretório de layout como layout.vsconfig e esse arquivo de configuração é 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 procura por atualizações. A configuração padrão é que o cliente examine os servidores hospedados pela Microsoft na Internet para obter atualizações. Você precisa alterar o valor de channelUri e apontá-lo para o seu layout se quiser que os clientes recebam as atualizações do seu 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 sã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 inicializa 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. 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"
    ]
}

O exemplo de arquivo response.json a seguir inicializa 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. 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.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"
    ]
}

No exemplo a seguir, o arquivo response.json inicializa uma instalação de cliente do Visual Studio 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: