C'est une question philosophique.
Étant donné une application de bureau hypothétique et un désir de fournir des mises à jour automatiques (plutôt que de forcer les gens à visiter un site Web, à rechercher une mise à jour, à télécharger une mise à jour, à installer), laquelle des deux est davantage une approche de «meilleure pratique»?
Comme iTunes , il vérifie s'il existe une nouvelle version et invite l'utilisateur à télécharger la nouvelle version. Si c'est le cas, il télécharge un exécutable d'installation complète (dans ce cas, un fichier Windows Installer (.msi)) qui installe la version complète (pas seulement une mise à niveau vers la version précédente - trop à gérer s'il existe plusieurs versions) . Donc, disons, c'est la version 10.1.1 - que vous installiez une nouvelle version ou une mise à niveau, vous utilisez le même fichier. Après le téléchargement, il demande à l'utilisateur de fermer l'application et d'exécuter le fichier d'installation lui-même.
Semblable à l'autre, il recherche une nouvelle version et invite l'utilisateur à le télécharger, mais au lieu de simplement télécharger un exécutable et inviter l'utilisateur à l'exécuter, il l'exécute en fait pour eux - arrêter le programme qu'ils ont ouvert, acquérir la sécurité nécessaire pour installer les fichiers.
Problèmes avec # 2: de nombreux problèmes liés à la fermeture du programme, car le programme peut ouvrir d'autres programmes ( Outlook et Excel ), ou si l'utilisateur était au milieu de quelque chose. Toujours en matière de sécurité, vous avez besoin d'un accès administrateur local pour installer, que faire si vous ne l'avez pas? Dans les versions ultérieures de Windows, vous ne pouvez pas simplement remplacer la sécurité de la personne.
Problèmes avec le n ° 1: certaines personnes pensent que ce sera trop difficile, trop d'efforts pour l'utilisateur final.
Je préférerais fortement opter pour le n ° 1 car cela permettra d'économiser 80 à 120 heures sur mon projet, et est plus simple à mettre en œuvre et à maintenir. Cependant, nous avons des gens qui se sentent fortement de tous côtés.
Quelle est la meilleure pratique pour ce genre de chose?
la source
Réponses:
Personnellement, j'aime plutôt l'approche de Google Chrome. Un répertoire de base avec un lanceur et des sous-répertoires pour chaque version installée du logiciel. Le lanceur recherche simplement le numéro de version le plus élevé et l'utilise et supprime les anciennes versions selon les besoins. Une tâche de mise à jour s'exécute de temps en temps pour télécharger et créer de nouveaux répertoires. Lorsque de nouvelles versions sont installées, l'application en cours d'exécution demande un redémarrage pour utiliser la nouvelle version.
la source
Vous ne devez pas créer d'entrées de démarrage inutiles pour vérifier les mises à jour comme Adobe Flash Player (il est difficile de toutes les retrouver, et je ne peux pas trouver un moyen de désactiver les vérifications ...) ou iTunes. Cela agace l'utilisateur (geeks, de toute façon). Une meilleure option serait de vérifier les mises à jour au démarrage de l'application comme le fait Firefox .
Un simple "Installer les mises à jour?" la fenêtre n'ennuiera pas les utilisateurs. Laissez-le se mettre à jour en arrière-plan pendant que l'utilisateur fait d'autres choses, puis démarrez automatiquement votre application.
Assurez-vous simplement d'inclure une option:
Ou quelque chose de similaire.
Si cela en vaut la peine, je dirais allez-y. C'est ta décision.
la source
Je pense que vous voulez une configuration "ClickOnce".
http://msdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx
ClickOnce est une technologie de déploiement qui vous permet de créer des applications Windows à mise à jour automatique qui peuvent être installées et exécutées avec une interaction utilisateur minimale. Le déploiement ClickOnce résout trois problèmes majeurs de déploiement:
Difficultés de mise à jour des applications. Avec le déploiement de Microsoft Windows Installer, chaque fois qu'une application est mise à jour, l'utilisateur doit réinstaller l'intégralité de l'application; avec le déploiement ClickOnce, vous pouvez fournir des mises à jour automatiquement. Seules les parties de l'application qui ont été modifiées sont téléchargées, puis l'application complète et mise à jour est réinstallée à partir d'un nouveau dossier côte à côte.
Impact sur l'ordinateur de l'utilisateur. Avec le déploiement de Windows Installer, les applications reposent souvent sur des composants partagés, avec des risques de conflits de version; avec le déploiement ClickOnce, chaque application est autonome et ne peut pas interférer avec d'autres applications.
Autorisations de sécurité. Le déploiement de Windows Installer nécessite des autorisations administratives et n'autorise qu'une installation utilisateur limitée; Le déploiement ClickOnce permet aux utilisateurs non administratifs d'installer et n'accorde que les autorisations de sécurité d'accès au code nécessaires à l'application.
la source
Personnellement, j’ai apprécié les applications qui font quelque chose de similaire cadre Sparkle . Je suppose que c'est une chose Mac uniquement, mais cela fait essentiellement ce qui suit (du haut de ma tête - je suppose que le comportement peut être ajusté).
Étant donné que vous parlez de .msi, ce cadre particulier n'est pas vraiment applicable, mais dans ce cas, je préférerais une solution existante plutôt que de réinventer la roue.
la source
Je dirais que vous devez vraiment connaître votre utilisateur. S'ils sont avertis et ou ont un intérêt intense à rester à jour, # 1 fonctionnera.
Ne sous-estimez jamais la paresse d'un utilisateur car lorsque son programme ne fonctionne plus car il n'est plus pris en charge, vous serez inondé d'appels au service d'assistance plus tard.
Le temps viendra soit du développement (# 2) soit du support (# 1).
la source
Et ça?
Vous n'avez pas besoin de déranger l'utilisateur, vous n'avez rien à fermer ...
la source
Pourquoi pas quelque chose au milieu?
Invite à télécharger (ou faire l'option "télécharger automatiquement"), après avoir terminé l' invite à installer la mise à jour téléchargée (exécutez le .msi). De cette façon, vous annulez les inconvénients du n ° 2 (fermeture au milieu du travail de l'utilisateur) tout en conservant le confort avec le coût d'un clic de plus.
La boîte de dialogue " Fermer et installer la mise à jour? " Devrait être facilement accessible (mais pas gênante) lorsque l'utilisateur refuse au début. Avec avoir "Lancer <nom du programme>?" la case à cocher à la fin de .msi sera presque comme # 2 avec pas vraiment plus de travail
@ Les
programmes de sécurité dans Windows moderne peuvent demander la permission d'effectuer des actions nécessitant des droits d'administrateur (l'utilisateur affiche une invite où il saisit le mot de passe de l'administrateur, puis sélectionne "oui / non" pour accorder l'autorisation)
la source
J'ai 124 prêteurs sur gages qui utilisent mon application de bureau Pawnshop Management. Chaque fois que j'ai une nouvelle mise à jour, je leur diffuse un e-mail l'informant de la mise à jour et des détails de celle-ci. Ensuite, ils ont la possibilité de le FTP en se connectant à mon site Web. Ils ont également la possibilité d'annuler la mise à jour. Mon site Web garde également une trace de chaque version installée de prêteurs sur gages.
la source