Question

Je suis en train d'évaluer la vaste gamme de solutions d'installation et de déploiement Web disponibles pour les applications Windows. Je vais juste préciser ici (sans trop de détails, ces outils ont été couverts dans d'autres questions) ma compréhension des options:

  • NSIS - outil gratuit qui génère executables de configuration. Petit binaire. Spécialisés, parfois obtus, langage de script.
  • Inno Setup - Des outils gratuits pour executables de configuration. Divers schémas de compression binaires. moteur de script Pascal.
  • WIX - jeu d'outils gratuit pour générer des binaires MSI. Définitions du langage XML.
  • WIX ClickThrough - Des outils supplémentaires pour l'emballage, le téléchargement web et la détection de mise à jour automatique (maintenant partie du noyau WIX).
  • InstallShield - environnement de développement commercial pour l'emballage d'installation. MSI binaires Génère. C comme langue InstallScript.
  • Wise - environnement de développement commercial pour l'emballage d'installation. MSI binaires Génère.
  • ClickOnce - visuel cadre supporté Studio pour la publication d'applications sur un serveur Web, avec détection automatique des mises à jour. Pas de support pour les besoins d'installation personnalisée (fichiers INI, registre etc ...). Packages configuration comme un binaire MSI.
  • Installer Aware - environnement de développement commercial pour l'installation. MSI binaires Génère. cadre automatique de mise à jour (Mise à jour Web).

Si j'ai manqué tout, s'il vous plaît laissez-moi savoir.

Et trouvé quelques discussions utiles ces technologies sur StackOverflow:

J'ai travaillé avec quelques-unes de ces solutions, ainsi qu'une poignée de solutions d'installation internes propriétaires. Ils sont principalement concernés par les installations d'emballage et de fournir un cadre pour les développeurs d'accéder à l'environnement de temps d'exécution. Avec l'exigence croissante de déploiement Web et des mises à jour logicielles automatiques, je pensais trouver plus d'un consensus entre les développeurs sur un cadre de diffusion sur le Web des logiciels et des mises à jour ultérieures, je ne l'ai pas vraiment trouvé ce consensus. Il y a certainement des solutions disponibles (ClickOnce, CLICS, InstallShield Update Service), mais ils ont chacun des limites considérables (s'il vous plaît me corriger si je mal représentent l'un de ces). Je serais intéressé par un cadre qui a fourni certains des éléments suivants:

  • tiers hébergement / gestion des mises à jour.
  • Accès à l'environnement client (fichiers INI, registre, etc ..).
  • Enregistrement de l'utilisateur / activation.
  • rapports de rétroaction / erreur

me laisse l'impression forte que la meilleure façon d'aborder le problème de déploiement Web est par le biais d'une solution propriétaire sur mesure (éventuellement tirant parti de l'emballage d'installation existante). Je l'ai vu ce genre de travail de solution bien pour un certain nombre d'applications réussies:

  • FileZilla- requête HTTP update.filezilla-project.org pour vérifier les mises à jour, télécharge un binaire NSIS (je pense) et puis arrête pour exécuter l'installation.
  • Mises à jour automatiques pour Massively jeux multijoueurs sont entièrement nécessaires et mis en œuvre universellement en utilisant des systèmes propriétaires.

Alors, enfin, à mes questions:

  • Ai-je manqué un cadre de déploiement Web qui fournira la fonctionnalité nécessaire?
  • sont mes exigences trop spécifiques pour raisonnablement espérer un cadre tiers à livrer?
  • Dois-je acheter ou construire?
Était-ce utile?

La solution

  • Si vos besoins spécifiques sont au cœur de votre entreprise; à-dire une partie de votre entreprise est de fournir un déploiement / installation en douceur et conviviale et vous vous sentez que aucune des bibliothèques de déploiement disponibles peut vous permettre de réaliser cela, alors certainement aller de l'avant et construire votre propre.
  • Si serait agréable d'avoir vos besoins spécifiques, mais ils ne font pas une partie importante de votre entreprise; dire que l'utilisateur final ne sera pas généralement être attendu ou nécessitant une procédure d'installation en douceur, ou aura jamais besoin de faire eux-mêmes (ils passent cette étape sur leur service informatique), la nécessité de construire votre propre juste pour vos besoins spécifiques est susceptibles d'être supplanté par l'effort supplémentaire qui impliquerait.

Je pense que votre impression que vous serez besoin d'une solution personnalisée est un son un; il semble que vos besoins vont être la clé de l'expérience de votre produit, surtout si vous avez besoin des mises à jour automatiques vraiment lisses et des commentaires.

Autres conseils

Je recommande la prudence sur InstallAware. Nous avons eu récemment une expérience choquante avec leur soutien à la clientèle.

Nous avons suivi l'un de leurs échantillons de projets à la lettre qui a lamentablement échoué. Élevé un ticket de support avec le soutien à la clientèle et a dit qu'il allait nous coûter 199 $ pour les regarder fixer leur propre code.

Nous avons ensuite soulevé la même question dans les forums d'utilisateurs et ont été rapidement parce que cela constituait banni l'affichage croix et n'a pas été autorisé. Même si ce n'est pas mentionné dans leurs termes et conditions. En fait, ils ont interdit notre propriété intellectuelle si personne dans notre société peut poster sur les forums.

Une expérience très pauvre et celui que nous wont répéter. Nous cherchons maintenant à remplacer InstallAware le plus rapidement possible.

Achat InstallAware à vos propres risques et périls.

Tout à fait d'accord avec l'affiche qui a dit de rester loin de InstallAware. Ils ont eu une longue histoire de problèmes d'éthique vraiment absurdes, et ils traitent horriblement leurs propres clients. Ils peuvent être carrément offensants et insultants.

Prenez garde InstallAware!

Je suis complètement d'accord au sujet InstallAware.

Après avoir utilisé WiX, NSIS et InstallAware, je dois admettre humblement qu'ils étaient tous trop pour ce que je vraiment besoin en tant que développeur de logiciels. Il n'y a pas de projets que je l'ai fait jusqu'à présent qui ne pouvait pas être déployé à l'aide du projet de déploiement Visual Studio.

est-il limité? Oui.

Il est également très simple à apprendre une utilisation. De plus, vous avez réellement peut faire des choses vraiment bien comme créer automatiquement patches (fichiers.msp) en utilisant des techniques comme décrit ici

Je comprends très bien que vous ne pouvez pas faire tout à l'intérieur d'un projet d'installation de Visual Studio, mais il est assez surprenant que vous peut accomplir. Il est gratuit, il est facile et, franchement, pour une utilisation générale est une meilleure option que passer des heures sans fin d'apprentissage de XML ahurissants Wix (impressionnant comme il est), ou des scripts verbeux de InstallAware ...

Avec le programme d'installation VS, il est drag'n'drop & build'n'deploy. Toutes les autres solutions que j'ai essayé avait mis le dos ... ils ne peuvent pas détecter automatiquement votre sortie de projet ... ou besoin des filtres spéciaux pour ne pas inclure des produits indésirables de la construction.

Ma suggestion est donc: Si vous souhaitez simplement obtenir votre projet déployé, puis apprendre:

  1. Comment construire une classe d'installation personnalisé et
  2. Comment créer vos propres paquets pré-requis

Ce sont les deux compétences raisonnablement facile à maîtriser, et répondre aux besoins de la plupart des développeurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top