Ceci est l'inverse à "Pourquoi les développeurs ne font-ils pas d'assistants d'installation sur linux? ", ce qui est intéressant, mais m'a fait penser" L'installation automatique est la manière naturelle. Pourquoi utilisent-ils des assistants? ".
Voici donc la question inverse:
Je suis sûr qu'il ne s'agit pas de paresse ou de quelque chose comme ça, mais je ne comprends pas pourquoi les développeurs, même principalement des applications destinées aux consommateurs, ne font pas une sorte d'installation entièrement automatique où vous n'êtes pas dérangé du tout. Les mêmes applications ont généralement une installation automatique sous Linux, alors pourquoi pas Windows et Mac OS?
Y a-t-il une raison technique à cette tendance ou s'agit-il simplement d'une convention?
Les utilisateurs devraient pouvoir décider, tout d'abord, s'ils souhaitent ou non que le programme soit installé sur leur ordinateur. Il peut vous sembler évident que les gens choisissent évidemment d'installer un programme, mais la principale caractéristique d'un programme malveillant est qu'il peut être installé sans que l'utilisateur de l'ordinateur le sache.
Le consentement éclairé est rendu encore plus explicite grâce à UAC .
La plupart des logiciels modernes suivent un modèle de "clic" pour l'octroi de licences; c'est-à-dire que l'utilisateur accepte les termes de la licence pendant le processus d'installation comme condition d'installation du programme. Le fait que les utilisateurs lisent rarement ces accords ne signifie pas qu'ils ne sont pas liés par eux, surtout s'ils ont coché la case intitulée "J'accepte ces conditions".
De nombreux packages logiciels ont des options qui vous permettent de modifier la façon dont le logiciel est installé de certaines manières. Le plus trivial d'entre eux vous permet de décider si vous voulez ou non une icône sur le bureau, mais dans les applications plus grandes, vous pouvez décider quelles fonctionnalités vous souhaitez installer.
Bien que les programmes de l'écosystème Windows deviennent de moins en moins intrusifs pendant le processus d'installation (par exemple, une installation sans registre), l'installation est toujours souvent une opération non triviale. Les barres de progression et autres aides visuelles indiquent que quelque chose se passe réellement. La dernière page de l'assistant vous indique si l'installation a réussi ou non.
Enfin, les meilleurs progiciels vous disent quoi faire ensuite. Quelles sont les premières étapes, comment commencer, comment obtenir de l'aide. La plupart des logiciels, une fois installés, vous laissent avec une icône de démarrage, et c'est tout. Ne surestimez jamais le niveau d'expertise de vos utilisateurs; Aussi incroyable que cela puisse vous paraître, il y a encore des gens qui ne savent pas comment trouver et démarrer les logiciels qu'ils viennent d'installer.
D'après ce que j'ai vu, cela se résume vraiment à toute "l'expérience Windows". Autrement dit, rendre tout action ou option aussi visible que possible pour l'utilisateur.
La raison pour laquelle je dis cela est qu'une interface graphique n'est pas nécessaire pour l'installation. Les programmes d'installation basés sur MSI peuvent être installés en mode silencieux d'une manière similaire aux packages basés sur Linux. L'interface graphique est complètement facultative, mais est là encore pour donner à l'utilisateur une représentation visuelle de ce qui se passe en arrière-plan.
Sous Linux, cela se fait facilement en utilisant un gestionnaire de paquets. Si je veux installer un package, je dois spécifiquement demander ce package. Pour les moins techniquement inclus, un gestionnaire de packages basé sur une interface graphique est généralement disponible pour que l'utilisateur puisse installer le logiciel souhaité.
Sous Windows, rien de tel n'existe. Si un utilisateur souhaite installer un logiciel Windows, il doit trouver et télécharger le logiciel séparément. Il n'y a pas d'outil standardisé pour aider l'utilisateur à configurer et installer le logiciel. Par conséquent, l'interface graphique d'installation fournie avec chaque logiciel est très similaire à l'interface graphique du gestionnaire de packages sous Linux. Il existe simplement pour permettre à l'utilisateur de configurer l'installation et de suivre sa progression.
Il existe de nombreux cas où une interface graphique d'installation n'est pas nécessaire en raison de la présence d'une interface graphique de gestion. Par exemple, la populaire plate-forme Steam installera automatiquement tous les jeux ou logiciels disponibles via le magasin Steam à l'aide de scripts d'installation.
Un autre excellent exemple serait SCCM. System Center Configuration Manager (SCCM pour faire court) est un logiciel utilisé pour gérer des groupes d'ordinateurs sur un réseau. Il inclut la possibilité de rendre le logiciel disponible pour l'installation via une interface graphique appelée Software Center. Tout programme d'installation basé sur MSI peut être mis à disposition pour l'installation en cliquant sur un bouton. Dans l'environnement dans lequel je travaille, nous avons des logiciels allant de Creative Suite d'Adobe à des choses telles que WinZip. Tout ce qu'un utilisateur doit faire est de rechercher dans le catalogue pour trouver ce qui est disponible, cliquez sur installer et attendez la confirmation. C'est presque exactement le même processus que si je voulais installer quelque chose sur mon ordinateur personnel sous Linux Mint.
Utilisation de la fenêtre fichiers msi , qui fonctionnent en grande partie de la même manière que les autres packages de programme. Ils peuvent être installés en mode silencieux en définissant un indicateur, mais le comportement par défaut est que Windows présente une interface graphique avec toutes les options de configuration définies dans le package. Pour un utilisateur msi normal, les fichiers se comportent donc exactement comme les installateurs exe.
En tant qu'utilisateur qui choisit souvent de modifier les paramètres par défaut, je trouve que l'utilisation de l'interface graphique est le moyen le plus simple d'apprendre quelles options j'ai lors de l'installation d'un programme, et il est pratique de les modifier en même temps.
Concernant la possibilité d'un installateur par défaut totalement silencieux. Sous Windows, il est habituel que l'utilisateur soit autorisé à choisir le répertoire d'installation, vous obtiendriez le mauvais côté de beaucoup d'utilisateurs si vous n'autorisiez pas cette option dans une interface graphique. En outre, les utilisateurs sont habitués à voir au moins un minimum de dialogue lors de l'installation d'un programme, si vous ne montrez rien, ils pourraient penser que l'installation a échoué.
Les développeurs rendent l'installation automatique sous Windows, mais tous les logiciels ne sont pas proposés dans ce format. Contrairement à de nombreuses autres réponses ici, Windows a un "gestionnaire de packages" standard et largement utilisé (soyez indulgent), mais il est relativement peu connu même parmi les développeurs car il cible les entreprises, pas les utilisateurs finaux.
Il s'appelle SCCM et est utilisé par toutes les grandes entreprises pour gérer leurs installations Windows. En plus de pouvoir gérer les packages (logiciels Push et dépendances vers les machines clientes), il gère également les mises à jour de Windows et des autres logiciels installés.
SCCM n'est pas utilisé même par les utilisateurs techniques pour gérer leurs propres ordinateurs. Il n'est pas vraiment destiné à offrir beaucoup d'avantages pour la gestion d'un seul ordinateur; en fait, il peut même ne pas fonctionner sans Active Directory/machines non jointes au domaine. Je ne l'appellerais donc pas vraiment Windows gestionnaire de paquets, même s'il gère le déploiement des logiciels et des mises à jour.
Cependant, mon point ici est que il existe des installations automatiques sur Windows , et elles sont largement utilisées - par les administrateurs système des grandes entreprises. Si vous voyez un produit proposant un téléchargement .msi, c'est probablement parce qu'il veut être déployable automatiquement sur des milliers de machines via SCCM.
Avertissement: Je n'ai pas moi-même utilisé SCCM, et je connais peu de choses à ce sujet, donc je peux me tromper sur certaines subtilités ci-dessus.
Clause de non-responsabilité: Il s'agit en grande partie de spéculations, mais est basé sur mes expériences de packaging d'applications Windows pour l'installation et le déploiement.
Tout dépend de ce que la norme de facto pour l'installation est sur une plate-forme. Sous linux, la norme consiste à utiliser des outils de gestion de paquets tels que apt
(basé sur dpkg/Debian) ou yum
(basé sur rpm/RedHat) pour l'installation. Une fois que vous avez fourni un package pour le déploiement, la création d'un assistant est à peu près une perte de temps car la grande majorité des utilisateurs n'utiliseront que le package de toute façon (comme c'est la norme).
Sur Windows, la norme est une installation basée sur une interface graphique. Il existe il y a alternatives, mais aucune de ces alternatives ne convient comme remplacement à 100% pour un installateur:
Si votre logiciel est suffisamment complexe pour nécessiter un déploiement, il est à peu près obligatoire de fournir une installation GUI conforme aux attentes des utilisateurs. Il existe également un certain nombre de produits qui rendent la construction de ces assistants assez facile, donc fournir un installateur basé sur une interface graphique est généralement l'une des options les plus faciles en termes de temps de développement. Une fois que vous avez un programme d'installation basé sur une interface graphique, vous devez évaluer le rapport coût-avantage pour chacun des éléments ci-dessus (rappelez-vous que les nouvelles fonctionnalités commencent avec moins 100 points), et pour de nombreux produits, cela ne vaut tout simplement pas la peine de construire et de maintenir ces alternatives.
Notez que les installateurs avec une sorte de mode "silencieux" sont assez courants sous Windows, mais cela n'a pas tendance à être le mode par défaut - encore une fois car ce n'est pas la norme. La plupart des utilisateurs de Windows trouveraient un programme d'installation qui s'installe immédiatement dès que vous l'exécutez assez déconcertant.
Sur le plan technique, Windows tend vers une plus grande intégration entre les programmes (via le registre) que Linux. Cela nécessite un processus d'installation officiel plutôt que de simplement copier le programme sur votre disque dur (par exemple, pour activer les menus contextuels). Certains systèmes d'exploitation (Mac OS par exemple) feront cela en coulisses ou lors de la première exécution, mais Windows préfère en faire une partie explicite de l'installation.
Sur le plan non technique, Windows préfère le modèle de définition et d'oubli. Linux, par exemple, a tendance à ne pas avoir autant de configuration (options d'installation), mais souvent vous utilisez des indicateurs lorsque vous exécutez un programme - parce que vous en avez l'habitude; ou vous changez les options une fois que vous êtes dans un programme. Windows préfère l'expérience des options définies au cours d'une période définie (installation) et ne s'attend pas à ce qu'un utilisateur utilise des indicateurs de ligne de commande ou autrement définisse des options à chaque exécution d'un programme. Cela diminue la flexibilité (car vous pouvez utiliser des drapeaux différents à chaque fois), bien que cela soit souvent exposé pour les utilisateurs avancés (options dans un raccourci par exemple); mais fournit une interface plus simple pour la plupart des utilisateurs et permet au développeur de présenter aux utilisateurs une interface propre pour définir les options et les valeurs par défaut nécessaires.