MISE À JOUR, juillet 2018 : Un résumé extrêmement compressé des informations ci-dessous est disponible sur stackoverflow: Les principaux avantages de MSI ( "executive summary"
- de la sorte).
J'ai travaillé dans le développement en tant que responsable des versions , ingénieur de construction , développeur d'installation , et en tant qu'emballeur d'applications et ingénieur de déploiement dans de grandes entreprises.
Ceci est une revue des meilleures (et des pires) caractéristiques conceptuelles et du monde réel de MSI. Les problèmes de conception les plus courants rencontrés dans les fichiers MSI sont présentés dans une réponse distincte ci-dessous . Ne pas prétendre être complet - vraiment juste un "dépotoir" en désordre - conçu comme "ce genre de choses qu'on ne trouve pas dans les livres" (probablement pour une bonne raison)
Je souhaite également suggérer que cet article MSDN soit une bonne lecture: Windows Installer: avantages et implémentation pour les administrateurs système .
Standardisation:
En un mot, MSI concerne la normalisation et la gestion des " odeurs de déploiement " des technologies d’installateur classiques . Toute une collection de mauvaises conceptions d'architecture d'installation qui ont causé des problèmes de déploiement répétés.
Globalement, MSI fournit un programme complet et normalisé pour l’installateur, qui inclut également les fonctions et options de désinstallation et intégrées pour une exécution silencieuse avec une interface graphique standard pouvant être déclenchée à distance .
Ces fonctionnalités représentent à elles seules une amélioration considérable par rapport aux technologies d’installation antérieures qui traitaient la désinstallation et le fonctionnement silencieux de manière aléatoire. C’est peut-être les fonctionnalités les plus importantes pour le déploiement en entreprise, avec la gestion fiable des packages à distance via Active Directory ou des outils d’administration à distance dédiés tels que Microsoft SCCM (anciennement SMS), IBM Tivoli , CA Unicenter et similaire.
Quelqu'un a dupliqué une version antérieure de cette réponse . Peut-être une lecture plus rapide?
Anciens installateurs "Odeurs de déploiement"
MSI décourage activement les odeurs de déploiement héritées par conception. Ces sujets sont abordés dans les sections suivantes, mais voici une liste rapide des problèmes les plus reconnaissables avec les programmes d’installation hérités et les technologies de déploiement plus anciennes:
- 1) ils ont parfois déclassé et écrasé des fichiers partagés et versionnés avec peu d’inquiétude pour l’ enfer de la DLL qui en résultait
- 2) souvent, la procédure de désinstallation fournie avec l’installateur n’était pas correcte, ou elle ne s’effectuait pas correctement et de manière fiable, en particulier si elle était exécutée en mode silencieux. C'est un très gros problème pour la gestion des entreprises d'État
- 3) l' installation silencieuse était rarement prise en charge correctement. La fiabilité était médiocre et il fallait souvent enregistrer une exécution de l'installation avec des sélections de boîte de dialogue, ce qui ne permettait pas de faire face à des conditions inattendues, telles que des boîtes de dialogue d'erreur ou d'avertissement qui n'étaient pas enregistrées lors de l'exécution d'origine.
- 4) le programme d’installation n’a gardé aucune trace de ce qui était installé et il n’existait donc aucun moyen automatique de vérifier les fichiers sur le disque afin de vérifier s’il s’agissait toujours des versions installées à l’origine par le programme d’installation.
- 5) ils comportaient des paramètres de ligne de commande imprévisibles, non fiables et non standard pour l'exécutable de l'installation
- 6) suite à une ligne de commande non standard et à l'absence de normes, il était difficile de personnaliser les installateurs avec des valeurs spécifiques nécessaires au déploiement en entreprise de manière fiable et prévisible
- 7) Les utilisateurs normaux ne pouvaient pas exécuter ces installations et il leur arrivait souvent de perdre leur temps avec des droits d'administrateur temporaires (utiliser "exécuter comme" si cela suffisait ou se connecter en tant qu'administrateur, installer puis se déconnecter - cette connexion complète et la génération de profil était parfois nécessaire pour que l’installation se termine)
- 8) le setup.exe installateur ne souvent pas renvoyer un code d'erreur approprié ou un code de succès, et il lui arrivait de sortir immédiatement et coup d'un autre processus qui terminerait l'installation il est difficile de déterminer si l'installation a été achevée - en particulier par l' intermédiaire d' un lot fichier
- 9) la plupart des fichiers setup.exe ont permis d'extraire des fichiers, mais pas de manière fiable et prévisible - vous avez généralement dû passer beaucoup de temps à trouver les bons commutateurs pour le faire.
- 10) L’ exploitation forestière était généralement médiocre et plutôt aléatoire dans certains outils. Le débogage avec les fichiers journaux produisait rarement de la clarté, mais aidait un peu
- 11) il n'y avait aucune transparence dans ce que faisait le programme d'installation et aucune annulation ou peu fiable pour annuler les modifications après une installation échouée
- 12) il n’existait aucun moyen standard de l’industrie de déployer des composants d’exécution partagés, qu’il s’agisse de composants de système d’exploitation, de composants tiers ou des vôtres
La liste continue avec de nombreuses autres failles de déploiement cruciales et reconnues . C’est bien évidemment dans le monde du déploiement en entreprise que ces problèmes sont apparus le plus souvent. Cela a abouti au métier de « reconditionnement d’application », dans lequel un programme d’ installation hérité est capturé avec les technologies d’analyse de disque et de registre afin de créer un fichier MSI conforme aux normes. pour un déploiement fiable.
Le reconditionnement d’applications est un travail de spécialiste. Il permet généralement d’obtenir des fichiers MSI d’excellente qualité s’il est correctement effectué par des spécialistes , mais il n’est pas possible de reconditionner toutes les applications en raison de la logique d’enregistrement complexe qui doit être exécutée de manière interactive pour que certaines applications fonctionnent.
Avantages MSI - Résumé court
En clair, les avantages les plus importants de MSI sont (sans ordre particulier):
- 1) la désinstallation est toujours disponible pour chaque paquet, sauf s'il est désactivé activement
- 2) il en va de même pour la journalisation , ce qui est excellent et standardisé, bien que verbeux (des outils tels que WiLogUtl.exe peuvent être utilisés pour analyser les fichiers journaux)
- 3) ce qu'un fichier MSI fait est (semi) transparent ou "inspectable" pour la plupart. L'exception concerne les actions personnalisées - (voir la section sur la transparence ci - dessous)
- 4) la personnalisation de l'installation se fait de manière standardisée ( transforme )
- 5) il n’est pas nécessaire de jouer avec les droits d’administrateur temporaires puisque l’installation s’effectue de manière élevée via une publication Active Directory, une stratégie de groupe ou une administration à distance. Quelques qualifications ici. Reportez-vous également à cette capture d'écran de l'éditeur d'objets de stratégie de groupe.
- 6) L’ installation / désinstallation silencieuse à l’aide d’outils de gestion ou à l’aide de msiexec.exe fonctionne bien
- 7) la prise en charge de l' annulation est complète pour les installations ayant échoué. Si vous installez manuellement sur la boîte, vous devez connaître certaines qualifications .
- 8) le fichier MSI se prête à la fois à l'inspection et à la validation pour des raisons de cohérence et de validité logique puisqu'il est conforme à un schéma de base de données ( voir exemple de validation )
- 9) les mises à jour sont des types normalisés, bien que complexes et souvent sujets aux erreurs pour les utilisateurs peu expérimentés
- 10) l’ extraction de fichiers à partir du MSI est une fonctionnalité intégrée (vérifiez l’article lié pour un bon aperçu rapide)
- 11) La ligne de commande de Windows Installer, msiexec.exe , offre un contrôle très détaillé de la manière dont la séquence d'installation doit être effectuée et toutes les options fonctionnent avec tous les fichiers MSI conformes aux normes (définir au niveau du journal, s'exécuter en mode silencieux / interactif / semi-silencieux). , définissez les paramètres d’installation, appliquez les transformations, etc.).
- 12) Les modules de fusion constituent le mécanisme MSI permettant de livrer des fichiers partagés avec plusieurs packages MSI. Il s'agit d'un module consommable ou d'un ensemble de logique d'installation fusionnable avec n'importe quel package MSI au moment de la compilation. Wix a étendu et amélioré ce concept en utilisant les fichiers Wix include - un concept qui, à mon avis, est supérieur à la fusion de modules - en particulier pour vos propres fichiers (c'est-à-dire non les fichiers OS)
- 13) le moteur d’installateur Windows comporte lui-même un mécanisme permettant d’ empêcher l’écrasement des fichiers versionnés ou modifiés lors de l’installation. Ceci est contrôlé par une logique de remplacement de fichier assez complexe . Bien que efficace et efficace, la logique peut devenir un problème en soi, car de nombreux développeurs sont confrontés au problème de ne pas pouvoir écraser leurs fichiers de configuration modifiés lors de la mise à niveau. La solution à ces problèmes consiste généralement à apporter des modifications mineures à la conception des applications afin d'éviter les anti-modèles de déploiement courants , bien qu'il s'agisse d'une discussion importante.
Dans le monde réel , j'ai trouvé des aspects moins réussis d'inclure rapiéçage (très complexe), MSI-GUI (Caractéristiques simples, assez complexes, manque de souplesse), la résilience (peut causer difficile de debug répéter les problèmes d' auto-réparation ), et la complexité globale pour traiter avec la technologie pour les débutants (grande complexité des opérations de base parfois - par exemple, les mises à niveau, l'interface graphique et les nombreux détails en interaction provoquent des résultats inattendus, etc.). La rapidité du processus d’installation a également considérablement ralenti en raison de l’augmentation des frais généraux de MSI. Voir quelques astuces pour améliorer la vitesse d'installation de MSI .
Le reste du texte traite plus en détail de certains de ces aspects de la RSM.
Transparence (format d'installation ouvert)
Un fichier MSI est essentiellement une base de données SQL-Server simplifiée, stockée sous la forme d'un fichier de stockage structuré par COM , essentiellement un système de fichiers dans un fichier ou une collection de flux de données. Il s’agit du type de fichier utilisé dans les documents Microsoft Office . Il en résulte un format standard pouvant être revu et inspecté - un problème de taille pour les grandes entreprises.
À l'exception des actions personnalisées compilées, un fichier MSI est une boîte blanche . Si la configuration change quelque chose de fou, tel que les paramètres réseau à l’échelle du système, vous pouvez le voir à l’ aide des outils appropriés . L'exception notable est les actions personnalisées compilées - qui sont une boîte noire . Les exigences du logo Windows nécessitent que des actions personnalisées soient annotées pour expliquer ce qu'elles font, mais cela est souvent ignoré par les développeurs d'installation. J'espère que l'avènement de Wix améliorera cela.
Pour déterminer ce que ces actions personnalisées compilées font réellement sur le plan technique, une capture de configuration est nécessaire. Ceci est rarement fait dans mon expérience. Il est plus courant de contacter le fournisseur pour obtenir des informations si le logiciel doit être approuvé pour le déploiement en entreprise. Il peut alors s'agir de l'application elle-même qui empêche son utilisation, et pas seulement de la configuration.
Personnalisabilité (transforme)
Un fichier MSI peut être personnalisé via des transformations pour répondre aux besoins et aux normes d'une entreprise tout en permettant une interopérabilité avec les mises à jour du programme d'installation du fournisseur. Vous ne modifiez pas le programme d'installation lui-même, vous créez votre personnalisation dans un fichier distinct, spécifique à l'organisation, appelé transformation (fichier .mst) (un fragment de base de données ou une transaction de modification, si vous le souhaitez). Vous êtes libre de désactiver les actions personnalisées et, en règle générale, de modifier, de remplacer ou de désactiver tout élément du programme d'installation. Vous pouvez même ajouter de nouveaux éléments, y compris des fichiers. Les fichiers de transformation sont également parfois utilisés pour localiser un fichier MSI dans différentes langues. Plusieurs transformations peuvent être appliquées à un seul MSI, voici un exemple avec des chemins tronqués :
msiexec.exe /I "My.msi" /QN /L*V "C:\My.log" TRANSFORMS="C:\1031.mst;C:\My.mst"
Explication rapide du paramètre:
/QN = run completely silently
/L*V "C:\My.log"= verbose logging
TRANSFORMS="C:\1031.mst;C:\My.mst" = Apply transforms 1031.mst and My.mst.
Gestion et reporting
Windows Installer maintient une base de données complète de tous les éléments qu'un produit a installés dans le registre ( HKEY_CLASSES_ROOT \ Installer - ne changez jamais rien directement ici! Cela vaut aussi pour les experts).
Vous pouvez déterminer de manière fiable si un produit est installé, quelles fonctionnalités ont été installées et quelles versions de fichier ont été installées. De plus, vous pouvez obtenir une liste des correctifs éventuellement appliqués au produit de base. Vous pouvez accéder à cette base de données via des API prenant en charge Win32, COM ou .NET à l' aide de divers outils de script, de configuration et d'administration tels que Microsoft SCCM , IBM Tivoli , CA Unicenter, etc.
Sécurité (droits élevés temporaires)
MSI comprend également des principes de «droits élevés» qui permettent à un utilisateur restreint de déclencher l’installation d’un produit nécessitant l’installation de droits d’administrateur. Cela fait partie de la " fonctionnalité de publication " qui permet à un administrateur de mettre les installateurs à la disposition des utilisateurs sans les installer réellement sur tous les postes de travail. Le programme d'installation lui-même doit être créé correctement sur plusieurs comptes principaux pour que ce concept de droits élevés fonctionne correctement. Les utilisateurs peuvent déclencher eux-mêmes l’installation du produit, ou bien l’installation peut être contrôlée par un système de déploiement dédié tel que SCCM, Tivoli, Unicenter (les grandes entreprises en général). Il n'est pas nécessaire de jouer avec les droits d' administrateur temporaires pour faire fonctionner les choses ce qui est souvent le cas avec les installateurs hérités.
La base de données d'installation complète garantit également que vous disposez d'une vue d'ensemble complète des correctifs installés et donc d'une possibilité de détecter les vulnérabilités de sécurité via des outils d'automatisation et d'administration.
Validation
Les fichiers MSI peuvent être vérifiés avec des règles de validation pour s’assurer qu’ils respectent un certain nombre de règles de cohérence interne (appelées ICE).). Les entreprises peuvent créer leurs propres contrôles ICE pour appliquer des règles et des exigences spéciales. Cela aide grandement avec QA. La raison pour laquelle la validation est possible est due à la nature auto-référencée des bases de données relationnelles et du schéma de base de données associé. La base de données doit être cohérente en interne et conforme à son propre schéma en ce qui concerne les clés étrangères, les types de données, la largeur du champ, la version du schéma, etc. La validation va également au-delà et est capable de détecter les failles et les erreurs logiques réelles du paquet. , pas seulement le formatage et les défauts de type. Par exemple, il peut détecter des fichiers ou des types de fichiers en cours de déploiement vers des destinations cibles erronées.
Résilience (auto-réparation)
La fonction d' installation admin du programme d'installation de Windows fournit un moyen standard d'extraire les fichiers source d'un fichier MSI ( voici des informations supplémentaires sur ce sujet ). Ces fichiers sources peuvent ensuite être placés sur un partage et être disponibles pour tous les postes de travail pour l'installation. Cela garantit que les opérations de réparation, de désinstallation et de modification sont terminées sans demander le support d'installation sur CD ou similaire. Ceci est particulièrement important pour les opérations de correction et de mise à jour pouvant nécessiter un accès aux fichiers sources des anciennes versions dans des circonstances particulières.
Il existe également des problèmes courants liés à cette fonctionnalité de résilience. La plupart des administrateurs ont expérimenté des machines avec des cycles d'auto-réparation cycliques qui semblent ne jamais s'arrêter. Suivez le lien pour une longue liste de causes de ce problème. Et encore une fois, voici une version plus courte qui pourrait être plus facile à lire.
Retour en arriere
L'installation d'un fichier MSI déclenchera normalement la création d'un point de restauration . En outre, tous les fichiers et éléments de registre remplacés ou écrasés lors de l'installation seront sauvegardés et restaurés en cas d'échec de l'installation, à l'exception des modifications apportées dans les actions personnalisées.
Les actions personnalisées doivent implémenter leur propre prise en charge de l'annulation pour la conformité du logo Windows. Ceci est souvent ignoré, mais implique la création d'une deuxième action personnalisée pour annuler les modifications apportées par l'action personnalisée principale.
La restauration garantit que le poste de travail reste dans un état stable, même en cas d'échec de l'installation. Le script d'annulation réel est stocké dans un dossier caché directement sur le lecteur système - généralement C: \ Config.MSI - et contient des fichiers avec les extensions .RBS et .RBF - Fichiers de script d'annulation . Comme vous vous en doutez, les fichiers MSI mal conçus peuvent violer les fonctionnalités intégrées de Windows ici. Consultez mon autre article dans ce fil de discussion pour plus de détails.
Il existe des moyens de désactiver la restauration et d'accélérer l'installation. Non recommandé en général, mais voici des détails sur les propriétés MSIFASTINSTALL et DISABLEROLLBACK . Ceci est une fonctionnalité compliquée, mais voici un aperçu rapide des restaurations .
Mise à jour et correctifs
Bien que très complexe, les correctifs dans le programme d'installation Windows sont entièrement gérés et enregistrés sur le système, ce qui permet de déterminer l'état de sécurité du système en vérifiant ce qui a été installé. Les mises à jour sont normalisées selon quelques variantes de base, ce qui permet d'effectuer les mises à jour avec un degré de certitude supérieur, à condition que vous soyez en mesure de gérer la complexité impliquée. Les systèmes de déploiement pourront signaler les mises à jour ayant échoué et pourquoi.
Dans une vue subjective, l'application de correctifs fonctionne bien pour 2 utilisations de base : 1 ) de petits correctifs pour les produits livrés, et 2 ) l'application d'un correctif à un produit installé pour corriger sa séquence de désinstallation défectueuse empêchant une désinstallation propre du produit.
Un correctif est simplement un mécanisme de livraison pour une mise à jour qui fonctionne déjà . En tant que tel, il s’agit simplement d’un conteneur qui est plus compliqué et sujet aux erreurs que la configuration initiale elle-même. La règle numéro un pour un correctif est qu'il doit être plus petit que le MSI d'origine ou il n'y a aucune raison évidente de fournir un correctif. Un correctif peut devenir énorme rapidement s'il cible plusieurs versions du produit.
Journalisation (en effet verbeuse)
Windows Installer fournit une fonctionnalité de journalisation normalisée , bien supérieure aux versions précédentes, bien que très verbeuse. Les fichiers journaux peuvent être déchiffrés à l'aide d'analyseurs de journaux et des niveaux de journal personnalisés peuvent être utilisés pour éviter de générer des fichiers journaux trop volumineux contenant des informations inutiles. À des fins de débogage, la journalisation détaillée est extrêmement utile. Consultez le blog de Rob Mensching pour une méthode manuelle efficace pour lire un fichier journal MSI (vous devez essentiellement rechercher " valeur 3 " dans le fichier journal). Voici un exemple de ligne de commande qui effectue une journalisation détaillée:
msiexec.exe /I "C:\Installer.msi" /QN /L*V "C:\msilog.log"
Cet article de Robert Macdonald de l’équipe Windows Installer est vivement recommandé. Il offre un aperçu pratique de la journalisation MSI: Comment interpréter les journaux Windows Installer .
Conclusion
Tout ne va pas bien pour Windows Installer . Sa complexité peut parfois être déconcertante , mais pour les grandes entreprises, les fichiers MSI sont nettement supérieurs à toute autre forme de déploiement lorsque l’on prend en compte la liste des avantages ci-dessus.
Nouveau paradigme de l'installateur (l'énorme instruction SQL)
Pour comprendre le nouveau " paradigme ", il est important de comprendre que MSI est conçu comme une description déclarative de ce qui va se passer sur le système cible, plutôt que comme une séquence d'événements fixe. Je suppose que vous pouvez y voir une énorme instruction SQL . Par exemple, vous déclarez les éléments que vous souhaitez ajouter ou modifier dans un fichier INI. Au fur et à mesure que l'installation s'exécute, les modifications sont suivies et une restauration est disponible afin que les modifications puissent être annulées en cas d'échec de l'installation. Cela fonctionne vraiment comme " automagique ", et est fiable quand c'est bien fait.
Actions personnalisées (les suspects habituels)
C’est un casse-tête énorme pour les développeurs MSI expérimentés de voir des personnes s’appuyer sur des actions personnalisées complexes et peu fiables pour une fonctionnalité mieux mise en œuvre avec les fonctionnalités MSI intégrées. Une part importante de toutes les erreurs MSI et de tous les problèmes d'annulation est provoquée par des actions personnalisées erronées, et la plupart des autres erreurs sont causées par une utilisation erronée de la conception MSI (voir la réponse séparée pour la liste des erreurs MSI courantes).
Outre les fonctionnalités MSI intégrées, de plus en plus de fonctionnalités personnalisées sont désormais disponibles via un nouveau framework, tel que Wix - la méthode XML de compilation des fichiers MSI. La logique complexe des actions personnalisées est donc de moins en moins nécessaire.
MSI offre un support complet pour la gestion de la fusion des paramètres de fichier ini, des polices, des variables d’environnement, des clés de registre, des informations COM, des raccourcis, des extensions de fichier, des conditions de lancement, de l’installation de GAC, ODBC, etc.
WIX va encore plus loin avec la prise en charge de fonctionnalités très avancées telles que les extensions serveur SQL, les installations et la configuration IIS, les compteurs de performance, la vérification DirectX et autres tâches liées au jeu, la génération d’images natives .NET, COM +, les pilotes, les règles de pare-feu, les extensions PowerShell, la fermeture des applications, gestion des utilisateurs, des groupes, des partages et bien plus encore. Un peu compliqué à gérer, mais beaucoup plus fiable que vos propres actions personnalisées.
Évitez les actions personnalisées à tout prix si possible
Pour essayer de le mettre en perspective: ces intégrés et des solutions prêtes à l'emploi sont faites par les meilleurs experts de déploiement disponibles , et ils sont testés par des milliers, des dizaines de milliers voire des millions d'utilisateurs (pour intégré des choses dans MSI lui-même). Pensez-vous réellement pouvoir faire mieux vos propres actions personnalisées? L'utilisation d'une action personnalisée doit être un événement rare, et il est absolument nécessaire d'obtenir quelque chose d'unique pour le produit que vous installez . Et vous devez également écrire le support de restauration approprié, ce qui est très compliqué.
Écrire une action personnalisée est presque toujours une erreur , mais il existe de véritables cas dans lesquels vous avez également besoin de flexibilité. Comme toujours, il est important de bien choisir ses batailles. Cela peut sembler amusant au début, mais vous devrez probablement faire face à de nombreux problèmes inattendus et perdre beaucoup de temps coûteux. Je veux dire cela très sérieusement. J'ai moi-même écrit une série d'actions personnalisées C ++ à l'intention des entreprises (afin d'éliminer les actions personnalisées VBScript sujettes aux erreurs). le raccordement à un fichier MSI est extrêmement compliqué. La recherche d’options prédéfinies disponibles vous épargnera probablement des semaines de travail de développement et vous apportera une fiabilité de déploiement bien supérieure.
Utiliser la séquence de lancement de l'application
Un point très important est qu’une grande partie de la configuration de l’application doit se produire au lancement de l’application lorsque le contexte d’exécution est prévisible et que la gestion des erreurs est bonne, et non dans la configuration exécutée une seule fois et comportant des fonctions très complexes d’ emprunt d’emprunt , de séquençage , de conditionnement et d’ exécution. la complexité .
Votre configuration ne doit pas configurer l'application, elle doit préparer l'application pour la configuration lors du premier lancement . En particulier, votre configuration doit écrire tous les paramètres nécessitant des droits élevés - écriture sur HKLM, enregistrement des services, installation sur des chemins par machine et toute chose qu'une application ne peut pas écrire seule avec des droits d'utilisateur normaux.
Si vous êtes un développeur d'installation, vous devez proposer de participer au codage de la séquence de lancement de l'application au lieu d'écrire des actions d'installation personnalisées . Si rien d'autre, afin d'éviter de ressembler, vous essayez de "passer la balle" à quelqu'un d'autre. Dans cette séquence de lancement, vous pouvez écrire du code beaucoup plus fiable et testable, ce qui facilite le test du personnel d’assurance qualité (souvent, il ne comprend pas les tests de déploiement ainsi que les tests d’application).
Complexité d'installation
Le coeur de la complexité de la configuration est centré sur le fait que les erreurs sont cumulatives (vous gérez un processus de livraison, pas seulement une recompilation rapide), les erreurs sont très difficiles à déboguer (aucun accès aux systèmes sur lesquels elles se produisent) et le système cible. les états diffèrent à peu près de toutes les manières imaginables . Reportez-vous à cette réponse pour une analyse plus approfondie de cette complexité et de la défiance redoutable des systèmes cibles: Windows Installer et la création de WiX, et The Complexity of Deployment (voir en bas).
WiX (meilleure solution MSI pour certaines utilisations)
Lisez cette brève introduction à WiX pour une description de la nouvelle méthode de compilation de fichiers MSI basée sur XML. Les fichiers source basés sur du texte offrent un contrôle de la source bien meilleur qu'auparavant. Ceci est un toolkit gratuit et open source fortement recommandé .
NB : Voir ailleurs dans le sujet pour un bref récapitulatif des problèmes de conception courants avec les fichiers MSI. Il est très incomplet, mais mérite une lecture. Je ne voulais pas ajouter cela à cette réponse car ce n'est pas lié à 100%, mais pour une utilisation dans le monde réel, c'est un sujet crucial.
Quelques informations MSI essentielles pour les administrateurs système:
(pardonnez la "promotion" éhontée - c’est pour un accès et une récupération faciles)
Voici quelques liens vers des rubriques pouvant aider les administrateurs système à contrôler le déploiement sur leurs réseaux:
Sujets spéciaux:
Sujets conceptuels / meilleures pratiques: