Comment implémenter au mieux les mises à jour logicielles sur Windows ?[fermé]

StackOverflow https://stackoverflow.com/questions/37030

  •  09-06-2019
  •  | 
  •  

Question

Je souhaite implémenter un système de « mise à jour automatique » pour une application Windows.En ce moment, je crée semi-manuellement un "appcast" que mon programme vérifie et informe l'utilisateur qu'une nouvelle version est disponible.(J'utilise NSIS pour mes installateurs).

Existe-t-il un logiciel que je peux utiliser pour gérer la partie "automatique" des mises à jour, peut-être similaire à Scintillait sur Mac ?Y a-t-il des problèmes/pièges dont je devrais être conscient ?

Était-ce utile?

La solution

Il n'existe pas de solution aussi fluide que Sparkle (à ma connaissance).

Si vous avez besoin d'un moyen simple de déploiement et de mise à jour d'applications, Cliquez une fois est une option.Malheureusement, il est rigide (par exemple, pas d'installation par machine plutôt que par utilisateur), opaque (vous avez très peu d'influence, de clarté et de contrôle sur le fonctionnement réel de son déploiement) et non standard (les chemins dans lesquels il stocke l'application installée). ne ressemblent à rien d’autre sous Windows).

Ce serait beaucoup plus proche de ce que vous demandez Cliquez à travers, un projet parallèle de WiX, mais je ne suis pas sûr qu'il soit encore en développement (si c'est le cas, ils devraient être plus clairs à ce sujet…) — et il utiliserait de toute façon MSI, pas NSIS.

Il est probablement préférable de lancer quelque chose par vous-même.J'adorerais voir un projet de type Sparkle pour Windows, mais personne ne semble avoir tenté le coup jusqu'à présent.

Autres conseils

Il existe désormais un portage Windows de Sparkle, voir http://winsparkle.org.

La mise à jour automatique de Google Chrome est basée sur Omaha :

http://code.google.com/p/omaha/

Leur aperçu contient une excellente section expliquant pourquoi cela était nécessaire :

Le navigateur invitait généralement l'utilisateur avec une longue série de boîtes de dialogue techniques, déroutantes et effrayantes, essayant toutes de convaincre l'utilisateur de ne pas installer.Ensuite, l'utilisateur s'est vu proposer un assistant rempli de choix dont il n'avait pas besoin ni ne savait comment choisir.Ces facteurs se sont combinés pour former une mauvaise expérience utilisateur et une baisse importante lors du processus d'installation de l'application.

C'est une bonne idée d'utiliser une solution tierce, car les mises à jour automatiques peuvent être pénibles, en particulier avec Windows Vista/7 (UAC).Pour ce que ça vaut, le produit que mon entreprise utilise est Mise à jour automatique+ et cela semble fonctionner plutôt bien.

Pour .NET, il y a quelque temps, Microsoft Patterns + Practices a publié le Bloc de mise à jour d'application.C'était (à mon avis) plutôt exagéré et sur-conçu, mais a plutôt bien fait le travail.

Essentiellement, il utilisait un "chargeur de stub" pour vérifier un manifeste et un service Web afin de voir si une version ultérieure du programme que celle installée était disponible, puis utilisait la technologie de téléchargement en arrière-plan BITS pour télécharger une nouvelle version si elle était disponible sur le serveur.

Une fois la nouvelle version téléchargée et installée (avec .NET, c'est aussi simple qu'une xcopie dans le dossier approprié), l'application mettrait à jour le manifeste.Au prochain chargement du programme, la nouvelle version sera lancée.

Bien que le code Patterns + Practices soit spécifique à .NET, il n'y a rien qui ne puisse être copié pour une application non-.NET, surtout si vous avez la possibilité d'exécuter silencieusement le processus d'installation en arrière-plan.

J'ai posé une question similaire.Suivez le lien pour voir les réponses.Mise à jour automatique

Si votre application est écrite en .Net, vous pouvez essayer Cliquez une fois.Toutefois, il est difficile d’effectuer des actions administratives ou personnalisées lors de l’installation en utilisant cette approche.

wyUpdate a l'air vraiment sympa.Voir la vidéo ici :http://wyday.com/wybuild/help/automatic-updates/

Pour les applications .NET, vous voudrez peut-être jeter un œil à NetSparkle, une variante Sparkle pour les programmes .NET.Il est assez nouveau (à partir de 2011) et développé activement.

Je viens juste de répondre à ma propre question sur le même sujet - j'en mentionne une autre solution de mise à jour dans mon question.Il utilise un chargeur de stub et un fichier XML pour pointer vers le dernier exécutable.

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