Pourquoi continuer de payer pour générer des MSI ?
Encore aujourd’hui, beaucoup d’entreprises font l’acquisition de solutions couteuses pour la génération de leurs MSI. En général, la facture s’élève à quelques milliers d’euros pondérés par le nombre de développeurs, et d’agents ou de serveurs de builds. À la fin de l’année, la facture peut être salée.
... Et si je vous disais que je n’ai jamais payé ni fait payer à mon entreprise ce type de produit ?
La solution
Cela fait maintenant une petite éternité (à l’échelle de notre métier) que j’utilise Wix Toolset. Je crois me souvenir avoir commencé à l’époque de .net 4 et Visual Studio 2010 pour déployer des sites sur IIS. Aujourd’hui je l’utilise sur des PC avec Visual Studio 2022 et dans des pipelines Azure DevOps / Azure DevOps Server.
Après tant d’années, je suis toujours surpris de rencontrer des développeurs qui ne connaissent pas cette petite pépite. Wix Toolset est un outil gratuit et open source, destiné à la création d’installer (MSI, CAB, MSP, EXE, bootstrapers…).
Il est souvent présenté comme étant l’un des plus vieux projets open source porté par des salariés de Microsoft.
Wix a les caractéristiques et capacités suivantes :
- L’installer à produire est décrit via un ou plusieurs fichiers XML.
- Il existe un Template de projet pour Visual Studio.
- Il s’intègre parfaitement à MSBuild.
- Il permet la localisation de l’installer.
- Il sait générer un installer complet (MSI), un patch (MSP) et modules réutilisables pour réunir plusieurs applications en un MSI unique.
- Il permet l’intégration d’un UI partiellement personnalisée (logique de navigation et contenu des écrans, images, logos, licences, cases à cocher, etc. ).
- Il permet l’intégration d’un UI entièrement personnalisée (à coder soit même).
- Le toolset est constitué de plusieurs applications (un exécutable par rôle). Son usage peut donc être scripte.
- Le toolset peut déterminer dynamiquement les fichiers à inclure (en fonction d’un script, d’une tâche MSBuild, ou d’un projet Visual Studio)
- Le toolset peut déterminer dynamiquement les clés de registre utiles pour une DLL, un composant COM ou autre (ex : pour installer une extension Office).
- + beaucoup d’autres choses.
Pour en savoir plus, je vous conseille d’aller voir cette page.
Bien évidemment les MSI générés sont parfaitement standards. Par exemple, la mise à jour d’une application ne pose pas de problèmes. Il en est de même pour la désinstallation.
Concernant la prise en main du produit
Il ne faut pas se mentir, de premier abord, Wix est austère. Heureusement, la documentation est bien fournie. Ce qui permet d’avoir une courbe d’apprentissage relativement rapide.
En très peu de temps, on obtient des résultats propres.
Conclusion
Personnellement, je classe Wix Toolset dans la catégorie des indispensables. Aujourd’hui, je n’ai toujours pas trouvé de cas de déploiement que je n’arrivais pas à accomplir avec cet outil.
Si vous voulez payer pour d’autres produits, rien ne vous en empêche. Mais il serait dommage de passer à côté de Wix Toolset et des économies qu’il permet de faire.