Créer un manifeste de produit

Pour déployer les prérequis de votre application, vous pouvez créer un package de programme d’amorçage. Un package de programme d’amorçage contient un seul fichier manifeste de produit, mais un manifeste de package pour chaque paramètre régional. Le manifeste de package contient les aspects spécifiques à la localisation de votre package. Cela inclut les chaînes, les contrats de licence pour l’utilisateur final et les modules linguistiques.

Pour plus d’informations sur les manifestes de package, consultez Guide pratique pour créer un manifeste de package.

Créer le manifeste de produit

Pour créer le manifeste de produit

  1. Créez un répertoire pour le package de programme d’amorçage. Cet exemple utilise C:\package.

  2. Dans Visual Studio, créez un fichier XML appelé product.xml, puis enregistrez-le dans le dossier C:\package.

  3. Ajoutez le code XML suivant pour décrire l’espace de noms XML et le code produit du package. Remplacez le code de produit par un identificateur unique pour le package.

    <Product
    xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
    ProductCode="Custom.Bootstrapper.Package">
    
  4. Ajoutez du code XML pour spécifier que le package a une dépendance. Cet exemple utilise une dépendance de Microsoft Windows Installer 3.1.

    <RelatedProducts>
        <DependsOnProduct Code="Microsoft.Windows.Installer.3.1" />
      </RelatedProducts>
    
  5. Ajoutez du code XML pour répertorier tous les fichiers qui se trouvent dans le package du programme d’amorçage. Cet exemple utilise le nom de fichier de package CorePackage.msi.

    <PackageFiles>
        <PackageFile Name="CorePackage.msi"/>
    </PackageFiles>
    
  6. Copiez ou déplacez le fichier CorePackage.msi dans le dossier C:\package.

  7. Ajoutez du code XML pour installer le package à l’aide des commandes du programme d’amorçage. Le programme d’amorçage ajoute automatiquement l’indicateur /qn au fichier .msi, qui s’installe en mode silencieux. Si le fichier est un .exe, le programme d’amorçage exécute le fichier .exe à l’aide de l’interpréteur de commandes. Le code XML suivant n’affiche aucun argument à CorePackage.msi, mais vous pouvez placer l’argument de ligne de commande dans l’attribut Arguments.

    <Commands>
        <Command PackageFile="CorePackage.msi" Arguments="">
    
  8. Ajoutez le code XML suivant pour vérifier si ce package de programme d’amorçage est installé. Remplacez le code de produit par le GUID du composant redistribuable.

    <InstallChecks>
        <MsiProductCheck
            Property="IsMsiInstalled"
            Product="{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/>
    </InstallChecks>
    
  9. Ajoutez du code XML pour modifier le comportement du programme d’amorçage selon que le composant de programme d’amorçage est déjà installé ou non. Si le composant est installé, le package de programme d’amorçage ne s’exécute pas. Le code XML suivant vérifie si l’utilisateur actuel est un administrateur, car ce composant nécessite des privilèges administratifs.

    <InstallConditions>
        <BypassIf
           Property="IsMsiInstalled"
           Compare="ValueGreaterThan" Value="0"/>
        <FailIf Property="AdminUser"
            Compare="ValueNotEqualTo" Value="True"
            String="NotAnAdmin"/>
    </InstallConditions>
    
  10. Ajoutez du code XML pour définir des codes de sortie si l’installation est réussie et si un redémarrage est nécessaire. Le code XML suivant illustre les codes de sortie Fail et FailReboot, qui indiquent que le programme d’amorçage ne poursuivra pas l’installation des packages.

    <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <DefaultExitCode Result="Fail" String="GeneralFailure"/>
    </ExitCodes>
    
  11. Ajoutez le code XML suivant pour mettre fin à la section relatives aux commandes de programme d’amorçage.

        </Command>
    </Commands>
    
  12. Déplacez le dossier C:\package dans le répertoire du programme d’amorçage de Visual Studio. Pour les versions antérieures de Visual Studio, il s’agit du répertoire \Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages.

Exemple

Le manifeste de produit contient des instructions d’installation pour les prérequis personnalisés.

<?xml version="1.0" encoding="utf-8" ?>
<Product
  xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"
  ProductCode="Custom.Bootstrapper.Package">

  <RelatedProducts>
    <DependsOnProduct Code="Microsoft.Windows.Installer.3.1" />
  </RelatedProducts>

  <PackageFiles>
    <PackageFile Name="CorePackage.msi"/>
  </PackageFiles>

  <InstallChecks>
    <MsiProductCheck Property="IsMsiInstalled"
      Product="{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/>
  </InstallChecks>

  <Commands>
    <Command PackageFile="CorePackage.msi" Arguments="">

      <InstallConditions>
        <BypassIf Property="IsMsiInstalled"
          Compare="ValueGreaterThan" Value="0"/>
        <FailIf Property="AdminUser"
          Compare="ValueNotEqualTo" Value="True"
         String="NotAnAdmin"/>
      </InstallConditions>

      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <DefaultExitCode Result="Fail" String="GeneralFailure"/>
      </ExitCodes>
    </Command>
  </Commands>
</Product>