Configurer les paramètres par défaut de l’installation en utilisant un fichier réponse

Dans cet article, vous allez découvrir comment créer un fichier réponse qui vous aide à automatiser l’installation de Visual Studio. C’est le plus souvent utilisé lorsque vous installez Visual Studio à partir d’un layout.

Le fichier réponse Visual Studio est un fichier JSON dont le contenu contient des personnalisations utilisées lors de l’installation initiale de Visual Studio sur le client. Son contenu reflète les arguments et paramètres de ligne de commande. Utilisez le fichier de réponse pour les options de configuration suivantes :

Création du fichier réponse

Le fichier response.json est généralement créé lorsqu’un administrateur crée un layout. Il se trouve dans le dossier racine du layout. Toutefois, vous pouvez créer votre propre fichier réponse en utilisant l’un des exemples ci-dessous.

Spécification du fichier réponse

Si un administrateur déploie Visual Studio en invoquant le bootstrapper à partir d’une mise en page, le fichier de réponse trouvé dans le répertoire racine de la mise en page sera automatiquement utilisé. Les administrateurs peuvent aussi choisir de spécifier explicitement un autre fichier réponse en utilisant le paramètre --in, comme dans l’exemple suivant :

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

Contenu du fichier de réponse

Le fichier de réponse encapsule les paramètres de ligne de commande utilisés par l’installateur de Visual Studio, et il suit ces règles générales :

  • Si un paramètre de ligne de commande ne prend pas d’arguments (par exemple, --quiet, --passive, includeRecommended, removeOos, useLatestInstaller, allowUnsignedExtensions, etc.), la valeur dans le fichier de réponse doit être vrai/faux.
  • Si le paramètre prend un argument (par exemple, --installPath <dir>, --config <*.vsconfig file>), alors la valeur dans le fichier de réponse doit être une chaîne de caractères.
  • Si le paramètre prend un argument et peut apparaître sur la ligne de commande plusieurs fois (par exemple, --add <id>), la valeur dans le fichier réponse doit être un tableau de chaînes.

Les paramètres spécifiés sur la ligne de commande remplacent les paramètres inclus dans le fichier réponse, sauf si les paramètres acceptent plusieurs entrées (par exemple, --add). Lorsque vous avez plusieurs entrées, les entrées fournies sur la ligne de commande sont fusionnées avec les paramètres contenus dans le fichier réponse.

Configurer le fichier réponse utilisé lors de l’installation à partir d’un layout

Si vous avez créé un layout à l’aide de la commande --layout, un fichier response.json par défaut est créé à la racine du dossier du layout. Les administrateurs sont tenus de modifier et de personnaliser le fichier réponse en conséquence avant de procéder à l’installation sur un ordinateur client. De cette façon, ils peuvent contrôler les paramètres de configuration initiaux du client.

Les paramètres de configuration dans le fichier response.json sont référencés uniquement lors de l’exécution d’un programme d’amorçage (par exemple, vs_enterprise.exe). Les programmes d’amorçage sont généralement utilisés pour effectuer l’installation initiale sur le client, mais parfois ils le sont aussi pour mettre à jour un client. Le response.json n’est jamais utilisé lorsque vous lancez le programme d’installation localement sur le client.

Si l’administrateur a créé un layout partiel, le fichier response.json par défaut du layout spécifie uniquement les charges de travail et les langues inclus dans le layout partiel.

Si la mise en page est créée en passant par un fichier de configuration --config *.vsconfig, alors le fichier de configuration *.vsconfig sera copié dans le répertoire de la mise en page en tant que layout.vsconfig et ce fichier de configuration sera référencé dans le fichier response.json. De cette façon, vous pouvez utiliser des fichiers de configuration pour initialiser les installations client qui proviennent d’une mise en page.

Veillez à accorder une attention particulière au paramètre channelUri, qui configure l’emplacement où le client recherchera les mises à jour. La configuration par défaut consiste à ce que le client recherche les mises à jour sur les serveurs hébergés par Microsoft sur Internet. Vous devez changer la valeur de channelUri et la pointer vers votre layout si vous souhaitez que les clients récupèrent leurs mises à jour dans votre layout. Vous trouverez ci-dessous des exemples montrant comment faire. Vous pourrez toujours changer l’emplacement où un client recherche des mises à jour en exécutant le programme d’installation sur le client et en appelant la commande modifySettings.

Si l’installation client n’est pas effectuée en utilisant le mode --quiet ou --passive, les utilisateurs peuvent remplacer les valeurs par défaut spécifiées dans le response.json et sélectionner ou désélectionner des workloads et composants supplémentaires à installer.

Avertissement

Soyez très prudent lorsque vous modifiez les propriétés dans le response.json défini lors de la création de la mise en page, car certains éléments sont nécessaires pour l’installation.

Le fichier response.json de base d’un layout devrait ressembler à l’exemple suivant, sauf que le productID devrait refléter l’édition de votre 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"
}

Lorsque vous créez ou mettez à jour une disposition, un fichier response.template.json est également créé. Ce fichier contient tous les ID de charge de travail, de composant et de langue qu’il est possible d’utiliser. Ce fichier est fourni en tant que modèle pour tout ce qui peut être inclus dans une installation personnalisée. Les administrateurs peuvent utiliser ce fichier comme point de départ d’un fichier réponse personnalisé. Supprimez simplement les ID des éléments que vous ne souhaitez pas installer et enregistrez-le dans le fichier response.json ou votre propre fichier réponse. Ne personnalisez pas le fichier response.template.json, sinon vos modifications sont perdues chaque fois que la disposition est mise à jour.

Exemple de contenu de fichier réponse personnalisé dans la disposition

L’exemple de fichier response.json suivant initialise une installation de client Visual Studio 2019 Enterprise pour sélectionner plusieurs charges de travail et composants courants, choisir les langues d’interface utilisateur Anglais et Français, et faire en sorte que l’emplacement de mise à jour soit configuré pour rechercher les sources dans un layout hébergé sur le réseau. Notez que pour Visual Studio 2019, l’emplacement de mise à jour (channelUri) peut seulement être configuré lors de l’installation initiale et ne peut pas être modifié après, sauf si vous utilisez les fonctionnalités du dernier programme d’installation. Reportez-vous aux rubriques Configurer les stratégies des déploiements d’entreprise de Visual Studio et Configurer votre disposition pour toujours inclure et fournir le dernier programme d’installation pour plus d’informations sur la façon de configurer cela.

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

Dans l’exemple suivant, le fichier response.json initialise une installation client de Visual Studio 2022 Enterprise qui :

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

}

Avertissement

Si vous utilisez des layouts intranet hébergés sur le web, vous ne pouvez pas définir “noWeb”: true dans le fichier response.json et vous attendre à ce qu’il fonctionne. En effet, cela désactive le protocole HTTP et empêche le client d’accéder au site web.

Dépannage

Si vous rencontrez un problème avec le programme d’amorçage de Visual Studio qui génère une erreur lorsque vous l’associez à un fichier response.json, consultez la page Résoudre les erreurs liées au réseau lors de l’installation ou de l’utilisation de Visual Studio pour plus d’informations.

Support ou résolution des problèmes

Parfois, des problèmes peuvent se produire. Si votre installation de Visual Studio échoue, consultez Résolution des problèmes d’installation et de mise à niveau de Visual Studio pour obtenir une aide pas à pas.

Voici d’autres options de support :