Installateurs: Wix ou Inno Setup?
je compare ces deux outils. L'impression que j'ai est:
- Inno Setup ne produit pas de MSI, mais peut faire tout ce que WIX peut faire
- WIX ne produit un MSI, mais a une courbe d'apprentissage raide
êtes-vous d'accord avec cette description? Quelles sont les autres différences? Comment WIX# secoue cette histoire? Depuis Inno Setup n'utilise pas l'installateur windows, a-t-il des difficultés avec la désinstallation? Inno Setup peut - il, sur commande, déclasser une installation vers une version antérieure-ou ne peut-il Installer / Mettre à niveau que des applications?
5 réponses
ça fait longtemps que je n'ai pas travaillé avec MSI, quand je suis passé à InnoSetup Je ne me suis jamais retourné.
Je ne voulais pas que mon installation soit un casse-tête. J'ai besoin de quelque chose où je pourrais "Régler et oublier"
par défaut, InnoSetup produit une désinstallation. Il peut gérer les besoins simples ou complexes d'installation et de désinstallation.
avec InnoSetup vous avez quelques différentes façons de mettre à jour les applications.
- au départ, nous avons utilisé la méthode de réécriture qui consistait à réécrire l'installation existante.
- nous avons récemment commuté une désinstallation automatique de la version précédente lorsque la nouvelle version a été installée.
avec InnoSetup, les dégradés sont généralement désinstallés et réinstallés dans l'ancienne version.
vous avez raison sur la partie MSI pas MSI et vous avez raison que la courbe d'apprentissage de MSI est plus raide. Mais les deux ont des caractéristiques que les autres n'ont pas. Permettez-moi de citer Glytzhkof sur les avantages de MSI.
Glytzhkof dit bonjour ;-) . Veuillez lire à la fois l'original de mes réponses sur serverfault.com pour un résumé des problèmes communs avec MSI résultant de sa courbe d'apprentissage abrupte. Ce réponse ici se concentre sur les avantages théoriques, le autre réponse (dans le même fil) résume les problèmes MSI communs sur le dessus de ma tête. Les ajouts sont les bienvenus - je viens d'ajouter les questions les plus courantes.
- Transparence (Ouvert installateur format)- Un MSI peuvent être examinés et inspecter. C'est un grand numéro pour grand Corporation. Sauf des actions personnalisées compilées un fichier MSI est une "boîte blanche". Si la configuration change quelque chose de fou comme l' paramètres du réseau à l'échelle du système, vous pouvez voyons d'elle.
- Personnalisabilité - un MSI peut être personnalisé par le biais de transformations pour s'adapter à un besoins et normes de l'organisation tout en permettant l'interopérabilité avec les mises à jour de l'installateur du fournisseur. Vous ne changez pas l'installateur lui-même, vous créez votre personnalisation dans un fichier distinct propre à l'organisation appelé le transformer. Vous êtes libre de désactiver des actions personnalisées et en général n'importe quoi dans l'installateur, et " noir case" actions personnalisées peuvent être approuvée par contacter le fournisseur pour les explications. Ces fichiers de transformation sont également parfois utilisé pour localiser un fichier MSI les différentes langues. Plusieurs transformations peuvent être appliquées à un seul MSI.
- standardisation - MSI ne se prête pas à permettre "quoi que ce soit". Il fournit un cadre global pour le programme d'installation, qui fondamentalement aussi inclut la désinstallation-tout en format standard. Le programme d'installation de l'interface graphique est aussi standardisé avec intégré fonctions pour soutenir silent installation et désinstallation qui peut être déclenché à distance.
- de Gestion et de reporting Windows Installer maintient un base de données complète de tous les éléments d'un produit a installé. Vous pouvez déterminer de manière fiable si un produit est installé, quelles fonctionnalités ont été installé, et quelles versions de fichier ont été installer. En outre, vous pouvez obtenir un liste des correctifs qui ont été appliqué au produit de base, le cas échéant.
- sécurité - suite à la base de données d'installation complète it est possible de détecter la sécurité vulnérabilités dans le système installé produit. Le MSI englobe également "droits élevés " principes qui permettent à un utilisateur restreint de déclencher l'installation d'un produit qui nécessite privilèges d'administrateur à installer. C'est une partie de la "publicité fonctionnalité" ce qui permet à un administrateur de faire installateurs disponibles pour les utilisateurs sans en fait les installer sur tous les Workstation. Il n'est pas nécessaire de mess avec des droits temporaires pour obtenir des choses travailler.
- Validation - les fichiers MSI peuvent être vérifié avec les règles de validation pour s'assurer qu'il est en conformité avec une nombre de règles de cohérence interne (dénommé GLACE). Les entreprises peuvent créer leurs propres contrôles de glace pour appliquer règles spéciales pour les sociétés et exigence. Cela aide grandement à Assurance de la qualité.
- résilience - le administrateur installer caractéristique de Windows installer fournit une méthode standard pour extraire le source des fichiers à partir d'un fichier MSI. Ces source les fichiers peuvent alors être mis sur un partage et être disponible pour tous les postes de travail pour installation. Cela garantit la réparation, désinstaller et modifier les opérations complet sans demander l' supports d'installation sur CD ou similaire. Cela est particulièrement important pour les opérations de correction et de mise à jour qui peut exiger l'accès aux anciennes versions fichiers sources dans des circonstances spéciales.
- Rollback - l'installation d'un fichier MSI déclenchera normalement le création d'un point de restauration. En outre tous les fichiers et le registre les éléments remplacés ou réécrits l'installation sera enregistré et restauré si l'installation ne fonctionne pas compléter. Cela garantit que les le poste de travail est dans un état stable même si l'installation échoue. Comme vous pourriez vous attendre à mal conçu MSI les fichiers peuvent violer le les fonctionnalités de Windows ici, Voir mon autre postez dans ce fil pour plus de détails.
- correction & Mises à jour - bien que patching très complexe dans Windows l'installateur est entièrement géré et enregistré sur le système de sorte qu'un les systèmes de sécurité de l'état peut être déterminé en vérifiant ce qui a été installer. Les mises à jour sont normalisés quelques variantes principales, ce qui permet mises à jour à effectuer avec un supérieur degré de certitude. Déploiement les systèmes seront en mesure de déclarer ce qui suit: les mises à jour ont échoué et pourquoi.
- Journalisation - Windows Installer fournit une journalisation standardisée fonction, qui est largement supérieure à les incarnations précédentes, bien que presque trop verbeux. Les fichiers journaux peuvent être déchiffrés à l'aide d'analyseurs log, et journal personnalisé peut être utilisé pour éliminer la production de grumes trop grosses fichiers contenant des informations inutiles. À des fins de débogage de journalisation détaillée est extrêmement utile. Voir le blog de Rob Mensching pour une bonne lecture manuelle d'un journal de bord MSI fichier.
je suis en retard pour répondre à ce fil. J'utilise Inno Setup pour le produit de mon entreprise depuis des années. Il fait la plupart des choses très bien, mais le plus grand obstacle pour moi est les actions personnalisées. Dans la configuration Inno, il faut utiliser une variante de la langue Pascal. Avec L'ensemble D'outils WiX, je peux utiliser C# pour mes actions personnalisées, ce qui est beaucoup plus confortable pour moi. Certes, c'est une préférence personnelle, mais c'est la raison principale pour laquelle je suis passé d'une plateforme de configuration Inno par ailleurs excellente à une plateforme WiX également excellente. Cela, et le fait qu'il y avait tant d'avantages à utiliser les MSIs qui ont déjà été mentionnés dans une autre réponse.
franchement, pour moi, la courbe d'apprentissage de Pascal était plus grande que celle de WiX en utilisant le livre, WiX 3.6: A Developer's Guide to Windows Installer XML .
nous avons intégré les deux dans notre système de construction.
mais nous avons décidé de promouvoir les fichiers innosetup exe pour les clients non professionnels et msi seulement sur demande pour une raison simple.
vous ne pouvez pas expédier une version multi-localisée du programme DE setup avec MSI. Vous auriez besoin d'un installateur pour chaque langue et cela craint énorme. Il pourrait y avoir un piratage lourd vous permettant de réécrire toute L'interface graphique, mais ce n'est pas bien documenté et pas de source ouverte pour voler et beaucoup de travail.
l'interface graphique est en fait la partie la plus mauvaise sur WiX qui autrement est techniquement supérieure à Innosetup.
avec Innosetup, il est facile d'envoyer un exe en 5 langues. Nous avons déjà 6 binaires [gratuit,Maison,Pro - chacun 32 / 64bit] donc la variante explosion serait juste énorme et si vous commercialisez une version japonaise avec une page Web japonaise et la première chose qui se présente est une installation en anglais seulement c'est une mauvaise impression.
La MSI pour les utilisateurs professionnels qui ont besoin de stratégies de groupe etc. est en anglais seulement et c'est l'amende pour les utilisateurs professionnels.
je me rends compte que cette réponse arrive très tard. Mais j'ai couru dans ce post et j'ai pensé qu'une réponse à la question pourrait simplement être: "pourquoi ne pas avoir les deux?"(manger du gâteau et l'avoir aussi) et aussi "Pourquoi dépenser de l'effort sur la mise en œuvre de la fois où j'ai pu juste dépenser de l'effort pour l'un et obtenez le second pour pratiquement libre?"
à cette fin, je présente un script de configuration Inno avec le support MSI:
https://github.com/cubiclesoft/php-app-server/blob/master/installers/win-innosetup/yourapp.iss
il y a des fonctions Pascal personnalisées utilisées ici qui se déclenchent lorsqu'elles sont passées /MSI={GUID}
sur la ligne de commande qui déclenchent des changements utiles au script (par exemple, pas d'icône de désinstallation dans les programmes Start ou Add/Remove).
et je présente un script WiX avec le support du script de configuration Inno ci-dessus:
https://github.com/cubiclesoft/php-app-server/blob/master/installers/win-wix/yourapp.wxs
le script WiX enroule L'installateur exe (la seule charge utile) basé sur la configuration Inno d'une manière qui déclenche le script de configuration Inno pour faire les choses d'une manière plus compatible avec MSI et sort le MSI. Il n'est pas parfait, mais il économise une tonne de temps en vous laissant faire les choses de la façon Inno Setup et puis obtenir la plupart des avantages de MSI (par exemple GPO/SCCM/DSC silent deployment) sans tirer les cheveux. Cela fonctionne mieux si la plupart du temps juste le déploiement des dossiers au système et une poignée d'entrées de registre (c.-à-d. une application de base). Je ne recommanderais pas cette approche pour une application plus large où il y a beaucoup de composants, mais si vous l'essayez, et il fonctionne, laissez-moi savoir! Avoir une version MSI qui lance L'Inno Setup EXE donne au moins aux administrateurs système qui font des déploiements quelque chose de raisonnable à mâcher.
notez que le script WiX dépend du Pascal personnalisé fonctions sur le côté Inno Setup des choses. Vous ne pouvez pas simplement prendre n'importe quel installateur de Setup Inno et l'envelopper avec le script WiX et vous attendre à ce qu'il fonctionne (il ne fonctionnera probablement pas). Mais peut-être qu'une future version D'Inno Setup prendra nativement en charge quelque chose de similaire.