Créer un « MSI » Windows Installer à l’aide de WiX part2

Date de création de la page :

Au début

La dernière fois, nous avons préparé les fichiers nécessaires et mis en place le projet. Cette fois, éditez « Product.wxs » et effectuez divers réglages du programme d’installation.

Modifier les paramètres d’installation (Product.wxs)

Le contenu du fichier Product.wxs est décrit au format XML. Il existe un certain nombre de paramètres, mais nous allons d’abord faire les paramètres minimums pour nous assurer que le programme d’installation peut être créé. Si vous souhaitez le configurer plus en détail, veuillez vous référer à un autre article ou au site officiel.

Au moment de la création du projet, le code ressemble à ceci :

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product Id="*" Name="SetupLittleSaviorTrial_x86" Language="1033" Version="1.0.0.0" Manufacturer="" UpgradeCode="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
    <MediaTemplate />

    <Feature Id="ProductFeature" Title="SetupLittleSaviorTrial_x86" Level="1">
      <ComponentGroupRef Id="ProductComponents" />
    </Feature>
  </Product>

  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLFOLDER" Name="SetupLittleSaviorTrial_x86" />
      </Directory>
    </Directory>
  </Fragment>

  <Fragment>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
      <!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
      <!-- <Component Id="ProductComponent"> -->
      <!-- TODO: Insert files, registry keys, and other resources here. -->
      <!-- </Component> -->
    </ComponentGroup>
  </Fragment>
</Wix>

Voici quelques éléments que vous devez changer : Ajoutez des balises et des attributs qui n’existent pas.

Wix/Produit/@Id

Définissez le GUID qui identifie l’application.

Il existe de nombreux outils pour générer des GUID, mais il est rapide d’utiliser les outils qui viennent avec Visual Studio. Sélectionnez le menu « Outils » et « Créer un GUID ».

image

Obtenez un code à 36 chiffres, y compris un trait d’union, et définissez-le sur Wix/Product/@Id.

<Wix>
  <Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />

Wix/Produit/@Name

Il s’agit du nom de l’application affiché dans chaque partie de l’écran du programme d’installation. Il peut également s’agir du nom qui apparaît dans la liste Ajout/Suppression de programmes.

<Wix>
  <Product Name="リトルセイバー 体験版" />

image

image

Wix/Produit/@Manufacturer

Entrez le nom du fabricant. Il apparaît en tant qu’auteur du programme d’installation ou éditeur de la liste des programmes.

<Wix>
  <Product Manufacturer="ソーサリーフォース">

image

image

Wix/Produit/UIRef/@Id

Entrez un ID qui identifie l’écran à afficher dans l’assistant d’installation. Cette fois, comme il s’agit de la configuration minimale pour afficher et installer uniquement la licence, « WixUI_Minimal » est spécifié.

<Wix>
  <Product>
    <UIRef Id="WixUI_Minimal" />

Je pense que le site suivant sera utile pour savoir quel type de désignation peut être fait.

Utilisation du jeu de dialogues WixUI

Wix/Produit/WixVariable/*

Spécifie le fichier à utiliser dans l’interface utilisateur de l’Assistant. La configuration minimale utilise trois fichiers : La valeur de id est fixe et la valeur est le nom du fichier.

<Wix>
  <Product>
    <WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
    <WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
    <WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />

Icône de l’application d’installation

Il est utilisé pour les icônes d’application qui apparaissent dans « Ajout et Suppression de programmes », etc.

Dans le « SourceFile » de l’élément Icon, spécifiez le fichier ico comme chemin relatif à partir du dossier du projet.

« Property Id="ARPPRODUCTICON » est la définition d’association de l’icône.

<Wix>
  <Product>
    <Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
    <Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />

Wix/Fragment (configuration du dossier de fichiers)

Définit la configuration du dossier à installer. À l’origine, vous placerez également des fichiers, mais ne créerez d’abord que des dossiers.

La valeur de « Name » définie sur « Id="ProgramMenuDir » est le nom du dossier placé dans le raccourci du menu Démarrer. Définissez également des guids.

<Wix>
  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLFOLDER" Name="SetupLittleSaviorTrial_x86" />
      </Directory>
      <Directory Id="ProgramMenuFolder">
        <Directory Id="ProgramMenuDir" Name="リトルセイバー 体験版">
          <Component Id="ProgramMenuDir" Guid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
            <RemoveFolder Id="ProgramMenuDir" On="uninstall" />
            <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
          </Component>
        </Directory>
      </Directory>
    </Directory>
  </Fragment>

Ajouter des fichiers d’installation

Vous pouvez également l’ajouter à un fichier Product.wxs à la main. Étant donné qu’un GUID est requis pour un fichier, il est difficile de travailler avec plus de fichiers. Donc, pour ajouter des fichiers, utilisez WixEdit pour les ajouter.

Lancez WixEdit.

image

Ouvrez le fichier Product.wxs.

image

image

Sélectionnez Fichiers dans l’icône à gauche. Supprimez les dossiers sous ProgramFilesFolder.

image

Cliquez avec le bouton droit sur le dossier ProgramFilesFolder et sélectionnez Importer le dossier.

image

Sélectionnez le dossier dans lequel vous souhaitez installer les fichiers.

image

Un ensemble de fichiers est ajouté à l’arborescence.

image

Pour l’associer à d’autres paramètres, sélectionnez le dossier ajouté et remettez « Id » sur « INSTALLFOLDER ».

image

Créez un raccourci pour le menu Démarrer. sélectionnez « Nouveau » et « Raccourci » dans le menu contextuel du fichier exe.

image

Lorsque le raccourci est ajouté, sélectionnez-le et cliquez avec le bouton droit sur le blanc pour ajouter la propriété.

image

Ajoutez les paramètres suivants : (Modifiez le nom unique pour qu’il corresponde au programme.)

Valeur de l’attribut
Id LITTLESAVIORTRIAL. EXE_shortcut
Nom Procès du Petit Sabre
Répertoire ProgrammeMenuDir
WorkingDirectory (En) INSTALLDIR
Icône LITTLESAVIOR. ICO
IconIndex 0
Annoncer oui

image

Sélectionnez ensuite l’onglet « Fonctionnalité », faites un clic droit sur « ProductFeature » et sélectionnez Sélectionner les composants à ajouter.

image

Sélectionnez tout.

image

Supplémentaire.

image

Sauvegarder.

image

Product.wxs devrait ressembler à ceci:

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" Name="リトルセイバー 体験版" Language="1033" Version="1.0.0.0" Manufacturer="ソーサリーフォース" UpgradeCode="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
    <MediaTemplate />
    <UIRef Id="WixUI_Minimal" />
    <WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
    <WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
    <WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
    <Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
    <Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
    <Feature Id="ProductFeature" Title="SetupLittleSaviorTrial_x86" Level="1">
      <ComponentGroupRef Id="ProductComponents" />
      <ComponentRef Id="LITTLESAVIOR.ICO" />
      <ComponentRef Id="LITTLESAVIORTRIAL.EXE" />
      <ComponentRef Id="LITTLESAVIORTRIAL.EXE.CONFIG" />
      <ComponentRef Id="ProgramMenuDir" />
    </Feature>
    <UI />
  </Product>
  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLFOLDER" Name="LittleSaviorTrial">
          <Component Id="LITTLESAVIOR.ICO" DiskId="1" Guid="0B4DD82C-C6EF-4299-8EAB-4F9BB35FD952">
            <File Id="LITTLESAVIOR.ICO" Name="LittleSavior.ico" Source="LittleSaviorTrial\LittleSavior.ico" />
          </Component>
          <Component Id="LITTLESAVIORTRIAL.EXE" DiskId="1" Guid="8D805936-A25E-4DA6-9A0A-A5BDB2AD768D">
            <File Id="LITTLESAVIORTRIAL.EXE" Name="LittleSaviorTrial.exe" Source="LittleSaviorTrial\LittleSaviorTrial.exe" KeyPath="yes">
              <Shortcut Id="LITTLESAVIORTRIAL.EXE_shortcut" Name="リトルセイバー 体験版" Directory="ProgramMenuDir" WorkingDirectory="INSTALLDIR" Icon="LITTLESAVIOR.ICO" IconIndex="0" Advertise="yes" />
            </File>
          </Component>
          <Component Id="LITTLESAVIORTRIAL.EXE.CONFIG" DiskId="1" Guid="790C427A-A72C-4444-ACD6-ECF32AA788AD">
            <File Id="LITTLESAVIORTRIAL.EXE.CONFIG" Name="LittleSaviorTrial.exe.config" Source="LittleSaviorTrial\LittleSaviorTrial.exe.config" />
          </Component>
        </Directory>
      </Directory>
      <Directory Id="ProgramMenuFolder">
        <Directory Id="ProgramMenuDir" Name="リトルセイバー 体験版">
          <Component Id="ProgramMenuDir" Guid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
            <RemoveFolder Id="ProgramMenuDir" On="uninstall" />
            <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
          </Component>
        </Directory>
      </Directory>
    </Directory>
  </Fragment>
  <Fragment>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
    </ComponentGroup>
  </Fragment>
</Wix>

Confirmation de génération et d’exécution

Rendez la configuration de la solution « Release » dans Visual Studio.

image

Commencez à créer à partir de Build Solution.

image

Lorsque la génération réussit, un fichier msi est généré dans le dossier « bin\Release ».

image

Si vous essayez de l’exécuter, le programme d’installation démarre.

image

Une fois l’installation terminée, un raccourci sera créé dans le menu Démarrer.

image

Le fichier est placé dans le dossier Program Files (x86).

image

L’application apparaît également dans « Programmes et fonctions ».

image

Exécutez l’application et assurez-vous qu’elle fonctionne correctement.

image

Résumé

Ici, nous avons décrit les étapes pour créer un programme d’installation MSI à l’aide de Visual Studio et WiX. J’aimerais expliquer les paramètres détaillés dans un article séparé.