Configuración de los parámetros predeterminados de instalación mediante un archivo de respuesta

En este artículo, obtendrá más información sobre cómo crear un archivo de respuesta JSON que permita automatizar la instalación de Visual Studio. Se usa con más frecuencia al instalar Visual Studio desde un diseño.

El archivo de respuesta de Visual Studio es un archivo JSON que contiene personalizaciones usadas durante la instalación inicial de Visual Studio en el cliente. Su contenido refleja los argumentos y parámetros de la línea de comandos. Use el archivo de respuesta para las siguientes opciones de configuración:

Creación del archivo de respuesta

El response.json archivo se crea normalmente cuando un administrador crea un diseño, y se puede encontrar en la carpeta raíz del diseño. Sin embargo, puede crear su propio archivo de respuesta mediante uno de los ejemplos siguientes.

Especificación del archivo de respuesta

Si un administrador implementa Visual Studio invocando el cargador de arranque desde un diseño, se usará automáticamente el archivo de respuesta que se encuentra en el directorio raíz del diseño. Los administradores también pueden elegir especificar de manera explícita un archivo de respuesta diferente. Para ello, deben usar el parámetro --in, como en el ejemplo siguiente:

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

Contenido del archivo de respuesta

El archivo de respuesta encapsula los parámetros de línea de comandos usados por el instalador de Visual Studio y sigue estas reglas generales:

  • Si un parámetro de línea de comandos no toma ningún argumento (por ejemplo, --quiet, --passive, includeRecommended, removeOos, useLatestInstaller, allowUnsignedExtensions, etc.) el valor del archivo de respuesta debe ser true/false.
  • Si el parámetro toma un argumento (por ejemplo, --installPath <dir>, --config <*.vsconfig file>), el valor del archivo de respuesta debe ser una cadena.
  • Si el parámetro toma un argumento y puede aparecer más de una vez en la línea de comandos (por ejemplo, --add <id>), el valor en el archivo de respuesta debe ser una matriz de cadenas.

Los parámetros que se especifican en la línea de comandos invalidan la configuración que esta incluida en el archivo de respuesta, excepto cuando los parámetros toman varias entradas (por ejemplo, --add). Cuando tiene varias entradas, las entradas proporcionadas en la línea de comandos se combinan con la configuración del archivo de respuesta.

Configuración del archivo de respuesta usado al realizar la instalación desde un diseño

Si crea un diseño de red mediante el comando --layout, se creará un archivo response.json predeterminado en la raíz de la carpeta del diseño. Se espera que los administradores modifiquen y personalicen el archivo de respuesta correctamente antes de instalarlo en un equipo cliente. De este modo, pueden controlar los valores de configuración inicial del cliente.

Solo se hace referencia a los valores de configuración del archivo response.json al ejecutar un archivo de arranque (por ejemplo, vs_enterprise.exe). Los archivos de arranque se suelen usar para realizar la instalación inicial en el cliente, pero a veces también se usan para actualizar un cliente. El archivo response.json nunca se usa al iniciar el instalador localmente en el cliente.

Si el administrador creó un diseño parcial, el archivo predeterminado response.json del diseño solo especificará las cargas de trabajo y los idiomas incluidos en el diseño parcial.

Si el diseño se crea transfiriendo un archivo --config *.vsconfig, el archivo *.vsconfig se copiará en el directorio de diseño como layout.vsconfig y se hará referencia a este archivo de configuración en el archivo response.json. De este modo, puede usar archivos de configuración para inicializar las instalaciones de cliente que proceden de un diseño.

Asegúrese de prestar especial atención al parámetro channelUri, que configura el lugar en el que buscará el cliente las actualizaciones. La configuración predeterminada es que el cliente examine los servidores hospedados de Microsoft en Internet para obtener actualizaciones. Tendrá que cambiar el valor de channelUri para que dirija al diseño si quiere que los clientes obtengan sus actualizaciones del diseño. A continuación se detallan ejemplos de cómo hacerlo. Siempre puede cambiar el lugar donde busca un cliente las actualizaciones. Para ello, ejecute el instalador en el cliente e invoque el comando modifySettings .

Si la instalación del cliente no se realiza mediante el modo --quiet o --passive, los usuarios pueden anular los valores predeterminados especificados en el response.json y seguir seleccionando o anulando la selección de cargas de trabajo y componentes adicionales para instalar.

Advertencia

Tenga mucho cuidado al editar propiedades en el response.json definido cuando se creó el diseño, ya que algunos de los elementos son necesarios para la instalación.

El archivo response.json base de un diseño debe ser similar al ejemplo siguiente, salvo que el valor de productID reflejaría la edición en el diseño.

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

Cuando crea o actualiza un diseño, también se crea un archivo response.template.json. Este archivo contiene todos los identificadores de idioma, componentes y carga de trabajo que pueden usarse. Este archivo se proporciona como una plantilla para todo lo que podría incluirse en una instalación personalizada. Los administradores pueden usar este archivo como un punto inicial para un archivo de respuesta personalizado. Simplemente quite los identificadores de lo que no quiere instalar y guárdelo en el archivo response.json o en su propio archivo de respuesta. No personalice el archivo response.template.json o sus cambios se perderán cuando se actualice el diseño.

Ejemplo de contenido de archivo de respuesta de diseño personalizado

En el ejemplo de archivo response.json siguiente, se inicializará una instalación de cliente de Visual Studio Enterprise para seleccionar varias cargas de trabajo y componentes comunes, seleccionar los idiomas inglés y francés de la interfaz de usuario y configurar la ubicación de actualización para buscar orígenes en un diseño hospedado en la red. En Visual Studio 2019, la ubicación de actualización (channelUri) solo se puede configurar durante la instalación inicial y no se puede cambiar después, a menos que use la funcionalidad del instalador más reciente. Consulte Configuración de directivas para implementaciones empresariales de Visual Studio y Configuración del diseño para incluir y proporcionar siempre el instalador más reciente para obtener información sobre cómo configurarlo.

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

En el ejemplo de archivo response.json siguiente, se inicializará una instalación de cliente de Visual Studio Enterprise para seleccionar varias cargas de trabajo y componentes comunes, seleccionar los idiomas inglés y francés de la interfaz de usuario y configurar la ubicación de actualización para buscar orígenes en un diseño hospedado en la red. Consulte Configuración de directivas para implementaciones empresariales de Visual Studio y Configuración del diseño para incluir y proporcionar siempre el instalador más reciente para obtener información sobre cómo configurarlo.

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

En el ejemplo siguiente, el archivo response.json inicializa una instalación de cliente de 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"
    ]

}

Advertencia

Si usa diseños hospedados en la web de una intranet, no puede establecer el parámetro "noWeb" en true en el archivo response.json y esperar que funcione. Si lo hace, se deshabilitará el protocolo HTTP y se impedirá que el cliente acceda al sitio web.

Solución de problemas

Si surge un problema con el programa previo de Visual Studio que genera un error al emparejarlo con un archivo response.json, vea la página Solución de problemas de errores relacionados con la red al instalar o usar Visual Studio para obtener más información.

Soporte técnico o solución de problemas

En ocasiones, algo no sale según lo previsto. Si se produce un error en la instalación de Visual Studio, vea Solución de problemas de instalación y actualización de Visual Studio para obtener instrucciones paso a paso.

Aquí tiene algunas opciones de soporte técnico más: