Démarrer avec wix

Installation ou configuration

Téléchargez et installez WiX Toolset depuis [wixtoolset.org][1].

Le programme d’installation de WiX Toolset fournit également l’intégration avec [Visual Studio][2], après l’installation, vous devriez pouvoir créer des projets spécifiques à WiX.

Avertissements

Les droits d’administrateur sont nécessaires.

Certaines versions de WiX ne sont compatibles qu’avec une version particulière de Visual Studio :

  • V3.11 et suivantes n’incluent pas les extensions pour Visual Studio, vous devez télécharger les extensions pour vos versions de Visual Studio
  • La version 3.10 et inférieure ne fonctionne pas avec Visual Studio 2017 mais inclut les modèles de projet pour Visual Studio

Détails

Le programme d’installation est construit avec WiX lui-même et présente une fenêtre inhabituelle : [![Fenêtre du programme d’installation de WiX][3]][3]

Il est composé de 6 parties :

  • WiX Toolset : affichez la version installée par le programme d’installation et lancez le [site Web Wix Toolset][1] en cliquant
  • Licence : afficher la licence
  • Installer : lancer l’installation
  • À jour : vérifiez si une nouvelle version est disponible
  • Actualités : lancer les [actualités WiX][4]
  • Quitter : fermez le programme d’installation

[1] : http://wixtoolset.org [2] : http://wixtoolset.org/releases/ [3] : https://i.stack.imgur.com/ztWjF.png [4] : http://wixtoolset.org/news/

Configuration simple

Cet exemple suppose qu’une solution avec une application nommée “MyApp” existe déjà.

  • Ajouter un nouveau projet à la solution : [![Ajouter un projet de configuration][1]][1]

  • Dans le projet Setup, ajoutez une nouvelle référence à MyApp à partir de l’onglet Projects : [![Ajouter une référence MyApp][2]][2]

  • Dans le fichier Product.wxs, valorisez l’attribut Manufacturer du nœud Product avec HelloWorld :

Dans le nœud Fragment contenant les nœuds Directory, enveloppez le dernier avec un nouveau Directory :

<Directory Id="ManufacturerFolder" Name="!(bind.property.Manufacturer)">
    <Directory Id="INSTALLFOLDER" Name="MyApp.Setup" />
</Directory>

Dans le nœud ComponentGroup, décommentez les nœuds commentés et supprimez le TODO puis ajoutez un nœud File dans le Component :

<File Source="$(var.MyApplication.TargetPath)" />

L’attribut Source spécifie où trouver le fichier pour l’empaquetage lors de la génération. Plutôt que de coder en dur les valeurs de ces attributs dans notre code source, nous utilisons les variables du préprocesseur WiX qui sont transmises au compilateur WiX.

  • Construire le projet WiX.

C’est ça! Vous avez maintenant un programme d’installation fonctionnel qui installe et désinstalle l’application.


Fichier Product.wxs complet :

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product Id="*" Name="MyApp.Setup" Language="1033" Version="1.0.0.0" Manufacturer="HelloWorld" UpgradeCode="52f2c69b-5901-4d18-bb96-8c1c86cd1a3e">
        <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

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

        <Feature Id="ProductFeature" Title="MyApp.Setup" Level="1">
            <ComponentGroupRef Id="ProductComponents" />
        </Feature>
    </Product>

    <Fragment>
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="ProgramFilesFolder">
                <Directory Id="ManufacturerFolder" Name="!(bind.property.Manufacturer)">
                    <Directory Id="INSTALLFOLDER" Name="MyApp.Setup" />
                </Directory>
            </Directory>
        </Directory>
    </Fragment>

    <Fragment>
        <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
            <Component Id="ProductComponent">
                <File Source="$(var.MyApp.TargetPath)" />
            </Component>
        </ComponentGroup>
    </Fragment>
</Wix>

[1] : https://i.stack.imgur.com/VGV5w.png [2] : https://i.stack.imgur.com/EyA1M.png