9Aug

Pourquoi toutes les applications ne sont-elles pas portables?

C'est une question qui traîne à n'importe qui qui est tombé amoureux des applications portables: pourquoi n'est-il pas toutes les applications portables ?

Question d'aujourd'hui &La session de réponse nous vient avec l'aimable autorisation de SuperUser, une subdivision de Stack Exchange, un groupement de lecteurs communautaires de sites Web Q & A.

La question

SuperUser lecteur Tom aime l'organisation propre applications portables fournir 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 - Ibesoin de savoir où les programmes mettent des choses. ..), choisissant d'utiliser des versions portables ou autonomes d'applications à la place.

Je les ai tous placés dans un répertoire 'Programs' sur un disque séparé de ma partition Windows, donc à chaque fois que je les réinstalle, toutes mes applications sont disponibles avec un minimum d'effort et du côté positif, j'ai une installation propre et agréable.

Des applications telles qu'Office et Creative Suite m'obligent encore à passer par un processus d'installation horriblement long où un millier de bibliothèques et d'outils aléatoires sont lancés sur mon système.

Pourquoi les applications Windows ont-elles encore besoin d'être installées? Pourquoi ne pouvons-nous pas simplement faire glisser Photoshop dans un dossier OSX et le faire fonctionner? Est-ce que quelqu'un d'autre se concentre sur les applications portables, ou suis-je simplement un trouble obsessionnel-compulsif?

Nous sommes certainement des fans d'applications portables et aimerions aussi aller au fond des choses.

La réponse

SuperUser contributeur David Whitney offre un aperçu de pourquoi de nombreuses applications ne sont pas portables et comment Windows applique une sorte d'arrangement anti-portabilité:

Installers sont le résultat d'années d'évolution et un peu d'histoire( simplifiée) aidecomprendre 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 des librairies partagées prenant en charge les dossiers système pour éviter la duplication et l'espace disque gaspillé.

Windows 95 introduit le registre permettant un magasin central pour la configuration de l'application remplaçant de nombreux fichiers de configuration. Plus important encore, la configuration de Windows a été stockée au même endroit.

Le registre a été gonflé à cause des applications ne nettoyant pas après eux-mêmes. DLL enfer est arrivé à la suite de plusieurs versions des mêmes bibliothèques partagées se remplaçant mutuellement.

. NET a introduit le concept de app.config( presque 2 fichiers ini marquez, cette fois avec un peu plus de structure sauver des développeurs perdre du temps à écrire des analyseurs manuels).Le GAC a été introduit pour assembler les versions partagées dans le but d'empêcher DLL Hell.

Dans Windows XP et Vista dans Vista, Microsoft a tenté de définir l'espace utilisateur comme un emplacement pour stocker les données utilisateur et les fichiers de configuration dans un seul emplacement standard pour permettre des profils itinérants et une migration facile( copier votre profil) avec les applications installées dans le programme. Des dossiers.

Je suppose que la raison en est que "les applications de Windows sont conçues pour vivre à un endroit, leurs dépendances partagées dans un autre, et les données spécifiques de l'utilisateur dans un autre", ce qui va à l'encontre du concept de xcopie.

. . et c'est avant que vous devez configurer les comptes d'utilisateurs, et configurer et assurer les autorisations de sécurité, et télécharger les mises à jour, et installer les services Windows. ..

xcopy est le "cas simple" et n'est certainement pas le meilleur choix.

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.

Avoir quelque chose à ajouter à l'explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Découvrez le fil de discussion complet ici.