Dois-je déployer des versions 32 bits uniquement ou les versions 32 et 64 bits pour Windows?

13

J'ai une application multiplateforme écrite dans un langage compilé.

  • Pour Linux, il est habituel que les versions amd64 et i386 soient disponibles pour l'utilisateur, afin que l'utilisateur puisse choisir la version adaptée à son environnement actuel.
  • Sous Mac, il est habituel de créer Universal Binary, il peut donc prendre en charge plusieurs versions d'ordinateurs Apple. Ou fournissez simplement une version 64 bits, car tous les ordinateurs Apple actuels utilisent une architecture et un système d'exploitation 64 bits.

Je ne veux pas dérouter les utilisateurs en leur demandant "Quelle architecture êtes-vous?", Mais déployer uniquement en 32 bits est une mauvaise idée, car ce programme utilise une magie d'optimisation 64 bits et s'exécute beaucoup plus rapidement sur ces machines.

Mes idées:

  • Installez les versions d'application 32 et 64 bits et choisissez au moment de l'exécution. (Nécessite un wrapper, il sera donc difficile de créer une application de clic et de lancement (comme uTorrent)).
  • Détectez l'architecture en utilisant User-agentsur le site Web, afin que l'utilisateur puisse télécharger automatiquement la version appropriée (et faire un lien vers des "versions alternatives"). (C'est le style de Google Chrome)
  • Forcer l'utilisateur à utiliser une application 32 bits et à rendre la version 64 bits "réservée aux experts"? (comme VLC)

Que dois-je faire sous Windows?

Alexander Shishenko
la source
Votre application profite-t-elle d'un processus 64 bits?
CodesInChaos
Oui, il utilise une bibliothèque cryptographique, qui s'exécute plus rapidement en 64 bits.
Alexander Shishenko
Combien plus rapide?
Robert Harvey
2
De plus, n'y a-t-il pas d'option de génération AnyCPU dans Visual Studio? blogs.microsoft.co.il/sasha/2012/04/04/…
Robert Harvey
1
J'aurais dû mentionner que la compilation est en code natif (j'écris en C ++, sans extensions C ++ / CLI), pas .NET.
Alexander Shishenko

Réponses:

16

Je ne pense vraiment pas que ce soit une énorme complexité pour l'utilisateur final d'avoir à sélectionner une option 32 bits ou 64 bits lors du téléchargement. Mais si vous pouvez utiliser les chaînes d'agent utilisateur pour faire une suggestion, c'est encore mieux.

Une autre option consiste à faire en sorte que votre installateur détecte et installe le bon binaire pour la plate-forme de l'utilisateur. Cela permet un téléchargement plus important, mais l'utilisateur n'a pas à y penser. Si vous adoptez cette approche, vous souhaiterez fournir à l'utilisateur un moyen de remplacer la détection au cas où il aurait besoin d'une version spécifique pour une raison quelconque.

GrandmasterB
la source
7
Si vos utilisateurs ne sont pas techniques, vous leur lancez de gros mots (sans jeu de mots).
user253751
3
@GrandmasterB Les utilisateurs non techniques ne connaîtraient pas la différence entre une version 32 bits et une version 64 bits et ne sauraient pas de quelle version ils ont besoin.
Philipp
3
@Philipp Ce qui est facilement résolu en ajoutant deux phrases simples comme "fonctionne très bien dans la plupart des cas" et "pourrait être plus rapide sur certaines machines" comme le font de nombreux sites de téléchargement.
5gon12eder
1
@Philipp: non, bien au contraire (pour la deuxième option). L'installateur choisit automatiquement la bonne version, pas besoin d'afficher quoi que ce soit de technique. Il peut y avoir un bouton "option d'installation étendue" (mais tant que l'utilisateur n'appuie pas dessus, rien de tel qu'une version 32 ou 64 bits est affiché.
Doc Brown
1
@ 5gon12eder En fait, la version 64 bits "fonctionnera bien dans la plupart des cas". Jetons un coup d'œil aux statistiques de Steam Survey . Cela montre que plus de 83% des machines Windows exécutent un système d'exploitation 64 bits.
Alexander Shishenko
7

Eh bien, découvrez d'abord si l'utilisation d'une version 64 bits serait bénéfique:

  • Le jeu de données traité pourrait-il être suffisamment grand pour avoir besoin d'un espace d'adressage 64 bits pour fonctionner?
  • La version 64 bits est-elle toujours plus efficace ou plus rapide?
  • Existe-t-il des scénarios d'interopérabilité sensibles à vos programmes, modifier l'interface pour la rendre insensible à Bitness n'est pas une option, et le Bitness n'est pas à vous de dicter de toute façon?

Si la réponse est non à tous, envisagez de ne pas avoir du tout de version 64 bits.

Maintenant, s'il y a un avantage tangible à utiliser 64 bits lorsque vous le pouvez:
Rendez-le aussi confortable que possible pour vos utilisateurs sans pénaliser indûment ceux qui savent.

  • Fournissez un seul téléchargement si ce n'est pas trop de surcharge, ce qui installe la meilleure version par défaut (autorisez la substitution avec une option de ligne de commande ou une telle option pour les experts souhaitant la version 32 bits sur 64 bits).
  • Sinon, fournissez les deux téléchargements séparés (si l'avantage potentiel de l'utilisation de 64 bits est suffisamment petit, masquez-le un peu).
  • Bien que vous puissiez fournir un téléchargeur pour sélectionner et télécharger uniquement les pièces nécessaires, ce qui peut potentiellement réduire la taille du téléchargement par ordre de grandeur s'il y a d'énormes pièces en option, marquez-le bien en tant qu'installateur en ligne et liez également à un installateur hors ligne.
    (Vous pouvez (et devriez probablement) autoriser la réutilisation de ce qu'il télécharge, inclure une option pour tout télécharger, du moins si vous ne fournissez pas un installateur complet hors ligne.)
Déduplicateur
la source
4

De nos jours, les gens et les sites ont tendance à gérer cela seuls et à laisser l'utilisateur choisir s'il le souhaite . Donc, utiliser une User-agentchaîne est une bonne façon de procéder. IMO qui rend également votre application et votre site plus professionnels (les gens aiment davantage les choses s'ils sont capables de faire eux-mêmes les ajustements associés).

Placer un lien / choix de choisir une version est bon car certains experts ou personnes qui souhaitent obtenir une version différente peuvent aller la chercher.

Vous pouvez également placer une note collante sur la page de choix de la version (une similaire à celle-ci ) expliquant comment les utilisateurs peuvent vérifier le type de système d'exploitation (aka clic droit Computeret choisir les propriétés bla bla ...) afin que les humains curieux puissent vérifier et être sûrs que ce que vous proposez est la bonne version.

Type de système d'exploitation

Ange déchu
la source
3

Avoir un programme d'installation 32 bits qui ne contient pas l'exécutable. Demandez-lui de détecter la plate-forme cible sur laquelle il s'exécute, puis de télécharger le bon binaire à partir de votre serveur.

Philipp
la source
3
Si vous faites cela, assurez-vous que vous avez également les versions finales réelles disponibles pour les experts à télécharger directement. De nombreux informaticiens professionnels préfèrent pouvoir configurer une installation hors ligne (par exemple, afin qu'une installation soit reproductible avec précision ultérieurement).
Jules
2
@Jules est un autre cas d'utilisation: les machines déconnectées. Même en 2015, toutes les machines n'ont pas un accès direct à l'Internet public.