Quelles sont les alternatives à ClickOnce?

J’ai beaucoup utilisé ClickOnce au fil des ans, mais je me suis heurté à beaucoup de ses limites. Quelles sont les alternatives pour le déploiement Web?

Jusqu’à présent, le seul que j’ai pu faire est ClickThrough , qui fait maintenant partie de WiX sur le feu arrière. Y a-t-il d’autres qui ont eu du succès?

Après avoir utilisé WiX, NSIS et InstallAware, je dois avouer humblement qu’ils étaient tous exagérés pour ce dont j’ai vraiment besoin en tant que développeur de logiciels. Il n’y a aucun projet que j’ai fait jusqu’à présent qui n’a pas pu être déployé à l’aide du projet de déploiement Visual Studio.

Est-ce limité? Oui.

Il est également très simple à apprendre et à utiliser. En outre, vous pouvez réellement faire des choses vraiment intéressantes, comme créer automatiquement des correctifs (fichiers .MSP) en utilisant des techniques décrites ici.

Je comprends parfaitement que vous ne pouvez pas tout faire à l’intérieur d’un projet d’installation de Visual Studio, mais c’est plutôt surprenant ce que vous pouvez accomplir. C’est gratuit, c’est facile et, pour une utilisation générale, c’est une meilleure option que de passer d’innombrables heures à apprendre le XML époustouflant de WiX (si impressionnant soit-il) ou les scripts verbeux d’InstallAware.

Avec VS Setup, c’est drag’n’drop & build’n’deploy. Toutes les autres solutions que j’avais essayées avaient échoué … elles ne peuvent pas détecter automatiquement la sortie de votre projet … ou ont besoin de filtres spéciaux pour ne pas inclure les sorties indésirables de la construction.

Ma suggestion est donc la suivante: si vous souhaitez simplement déployer votre projet, alors apprenez:

  1. Comment construire une classe d’installation personnalisée et
  2. Comment créer vos propres paquets pré-requirejs

Ce sont deux compétences relativement faciles à maîsortingser et à satisfaire les besoins de la plupart des développeurs.

Squirrel : C’est comme ClickOnce, mais ça marche.

Squirrel est à la fois un ensemble d’outils et une bibliothèque, pour gérer complètement l’installation et la mise à jour de votre application Windows, écrite en C # ou dans tout autre langage (Squirrel peut gérer des applications C ++ natives).

Squirrel utilise les paquets NuGet pour créer des paquets d’installation et de mise à jour, ce qui signifie que vous connaissez probablement déjà la plupart de ce dont vous avez besoin pour créer un programme d’installation.

Quelles limitations rencontrez-vous avec ClickOnce? Lorsque je n’utilise pas ClickOnce, j’utilise NSIS (bien que vous puissiez utiliser la plupart des autres langages / systèmes d’installation) pour créer une application exécutable et auto-installable.

Autrement dit, lorsque vous exécutez le téléchargement, l’application exécute l’application et il n’y a pas de questions de configuration. Il existe une option de menu ou un détecteur à usage fréquent qui permet une installation permanente.

Les deux problèmes difficiles sont les suivants:

  1. Fichiers de parameters
  2. Paramètres du registre local

Pour les fichiers de parameters, j’utilise un service Web distant pour contenir des états, etc.

Si vous avez besoin de parameters de registre locaux (associations de fichiers, etc.), vous devez procéder à une installation correcte, mais cela peut se faire en mode silencieux lorsque l’utilisateur utilise l’application pour la première fois.