Créer un « MSI » Windows Installer à l’aide de WiX part2
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 ».
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="リトルセイバー 体験版" />
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="ソーサリーフォース">
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.
Ouvrez le fichier Product.wxs.
Sélectionnez Fichiers dans l’icône à gauche. Supprimez les dossiers sous ProgramFilesFolder.
Cliquez avec le bouton droit sur le dossier ProgramFilesFolder et sélectionnez Importer le dossier.
Sélectionnez le dossier dans lequel vous souhaitez installer les fichiers.
Un ensemble de fichiers est ajouté à l’arborescence.
Pour l’associer à d’autres paramètres, sélectionnez le dossier ajouté et remettez « Id » sur « INSTALLFOLDER ».
Créez un raccourci pour le menu Démarrer. sélectionnez « Nouveau » et « Raccourci » dans le menu contextuel du fichier exe.
Lorsque le raccourci est ajouté, sélectionnez-le et cliquez avec le bouton droit sur le blanc pour ajouter la propriété.
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 |
Sélectionnez ensuite l’onglet « Fonctionnalité », faites un clic droit sur « ProductFeature » et sélectionnez Sélectionner les composants à ajouter.
Sélectionnez tout.
Supplémentaire.
Sauvegarder.
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.
Commencez à créer à partir de Build Solution.
Lorsque la génération réussit, un fichier msi est généré dans le dossier « bin\Release ».
Si vous essayez de l’exécuter, le programme d’installation démarre.
Une fois l’installation terminée, un raccourci sera créé dans le menu Démarrer.
Le fichier est placé dans le dossier Program Files (x86).
L’application apparaît également dans « Programmes et fonctions ».
Exécutez l’application et assurez-vous qu’elle fonctionne correctement.
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é.