C’est une question qui pèse sur tous ceux qui sont tombés amoureux des applications portables: pourquoi les applications ne sont-elles pas portables?
La question
Lecteur SuperUser Tom aime l’organisation propre qu’offrent les applications portables et veut savoir pourquoi tout n’est pas portable:
J’ai récemment essayé «d’installer» beaucoup moins de choses sur ma machine Windows (je déteste les installateurs – j’ai besoin de savoir où les programmes placent les choses…), choisissant d’utiliser à la place des versions portables ou autonomes des applications.
Je les mets tous dans un répertoire « Programmes » sur un lecteur distinct de ma partition Windows, donc chaque fois que je réinstalle, toutes mes applications sont disponibles avec un minimum d’effort et, du côté positif, j’obtiens une belle configuration propre.
Des applications comme Office et Creative Suite m’obligent toujours à passer par un processus d’installation horriblement long où un millier de bibliothèques et d’outils aléatoires sont projetés sur mon système.
Pourquoi les applications Windows doivent-elles encore être installées? Pourquoi ne pouvons-nous pas simplement faire glisser Photoshop dans un dossier à la OSX et le faire fonctionner? Quelqu’un d’autre se concentre-t-il sur les applications portables, ou suis-je juste un TOC à propos de tout cela?
Nous sommes certainement fans d’applications portables et aimerions également aller au fond des choses.
La réponse
David Whitney, contributeur SuperUser, explique pourquoi de nombreuses applications ne sont pas portables et comment Windows applique une sorte d’arrangement anti-portabilité:
Les installateurs sont le résultat d’années d’évolution et un peu d’histoire (simplifiée) permet de comprendre pourquoi ils font ce qu’ils font.
Le modèle Windows 3.1 a suggéré des fichiers de configuration de style config.ini par application avec prise en charge des bibliothèques partagées dans les dossiers système pour éviter la duplication et le gaspillage d’espace disque.
Windows 95 a introduit le registre permettant un magasin central pour la configuration des applications remplaçant de nombreux fichiers de configuration. Plus important encore, la configuration de Windows a été stockée au même endroit.
Le registre est devenu gonflé en raison des applications qui ne se nettoyaient pas après elles-mêmes. L’enfer des DLL s’est produit à la suite de l’écrasement de plusieurs versions des mêmes bibliothèques partagées.
.NET a introduit le concept de app.config (presque ini files mark 2, cette fois avec un peu plus de structure permettant aux développeurs de perdre du temps à écrire des analyseurs manuels). Le GAC a été introduit dans les assemblys partagés de version dans le but d’empêcher DLL Hell.
Dans Windows XP et plus encore sous Vista, Microsoft a tenté de définir l’espace utilisateur comme un endroit pour stocker les données utilisateur et les fichiers de configuration dans un emplacement standard unique pour permettre des profils itinérants et une migration facile (copiez simplement votre profil) avec les applications installées dans Program Files .
Donc je suppose que la raison en est que «les applications sous Windows sont conçues pour vivre dans un endroit, leurs dépendances partagées dans un autre et les données spécifiques à l’utilisateur dans un autre», ce qui va à peu près à l’encontre du concept de xcopie d’un seul emplacement.
.. et c’est avant d’avoir à configurer les comptes d’utilisateurs, à configurer et à garantir les autorisations de sécurité, à télécharger les mises à jour et à installer les services Windows…
xcopy est le «cas simple» et n’est certainement pas le meilleur choix pour tout.
Malheureusement pour les fans de tout ce qui est portable, de nombreuses applications, en particulier les grandes applications comme Office, resteront fermement fixées et distribuées sur le système d’exploitation.
Avez-vous quelque chose à ajouter à l’explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d’autres utilisateurs de Stack Exchange férus de technologie? Consultez le fil de discussion complet ici.