46 votes

Pourquoi toutes les applications ne sont-elles pas "portables" ?

Récemment, j'ai essayé d'installer beaucoup moins de choses sur ma machine Windows (je déteste les programmes d'installation - j'ai besoin de savoir où les programmes mettent les choses...), en choisissant plutôt d'utiliser des versions portables ou autonomes des applications.

Je les place toutes dans un dossier "Programmes" sur un disque séparé de ma partition Windows, de sorte qu'à chaque réinstallation, j'ai toutes mes applications disponibles avec un minimum d'effort et, en plus, j'obtiens une belle configuration propre.

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

Pourquoi les applications Windows doivent-elles encore être installées ? Pourquoi ne peut-on pas simplement faire glisser Photoshop dans un dossier à la manière d'OSX et faire en sorte qu'il fonctionne ? Est-ce que quelqu'un d'autre se concentre sur les applications portables, ou est-ce que je suis juste un obsédé de la chose ?

35voto

bpapa Points 10188

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 proposait des fichiers de configuration de type config.ini par application avec des bibliothèques partagées dans des dossiers système pour éviter la duplication et le gaspillage d'espace disque.

Windows 95 a introduit le registre, qui permet de centraliser la configuration des applications en remplaçant les nombreux fichiers de configuration. Plus important encore, la configuration de Windows était stockée au même endroit.

Le registre s'est gonflé parce que les applications ne se sont pas nettoyées 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 d'app.config (presque des fichiers ini marque 2, cette fois avec un peu plus de structure, ce qui évite aux développeurs de perdre du temps à écrire des analyseurs manuels). Le GAC a été introduit pour versionner les assemblages partagés afin d'éviter l'enfer des DLL.

Dans Windows XP et plus encore dans Vista, Microsoft a tenté de définir l'espace utilisateur comme un endroit où stocker les données de l'utilisateur et les fichiers de configuration dans un seul emplacement standard pour permettre des profils itinérants et une migration facile (il suffit de copier votre profil) avec les applications installées dans Program Files.

Je suppose que la raison en est que "les applications 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 à l'encontre du concept de copie à un seul endroit.

... et ce avant de configurer les comptes d'utilisateurs, de définir et d'assurer les autorisations de sécurité, de télécharger les mises à jour et d'installer les services Windows...

xcopy est le "cas simple" et n'est certainement pas la meilleure solution pour tout.

12voto

Sven Points 211

Déploiement de XCOPY a été annoncée par Microsoft en tant que les Il y a quelques années, l'Europe s'est engagée dans la voie de l'avenir. Toujours rien :)

En attendant, vous pourriez être intéressé par la plateforme PortableApps.com.

7voto

Magus Points 911

Bonne question, j'ai demandé à un Question connexe sur Stack Overflow il y a quelque temps.

La réponse semble souvent être "parce que c'est ainsi que nous avons procédé dans le passé". Je suis désolé, mais cette réponse ne me convient pas.

D'autres ont dit que la raison principale était le registre. Si vous parlez d'un pilote de périphérique ou d'un autre composant COM, etc., alors oui, cela peut être nécessaire, mais pas pour les applications graphiques telles que les traitements de texte ou les feuilles de calcul.

Il est tout à fait possible d'écrire une application qui vérifie au démarrage si des paramètres de registre sont nécessaires et qui invite l'utilisateur à les définir ou qui utilise les valeurs par défaut. Ou bien, comme le font actuellement de nombreuses applications portables, faire savoir à l'utilisateur que l'intégration du système d'exploitation est actuellement limitée parce que l'application fonctionne en mode portable.

Les installateurs ont souvent aussi beaucoup de "connaissances" sur le fonctionnement de l'application. Ensuite, lorsque l'application change, il faut souvent mettre à jour le programme d'installation. Il s'agit d'une cause classique de bogues/problèmes que j'ai pu observer dans le cadre de mes activités de programmation.

Il s'agit d'une approche unique.

7voto

Réponse simple et directe : il s'agit simplement de savoir qui a le contrôle. De nos jours, la plupart des logiciels sont conçus par des géants de l'entreprise pour un environnement institutionnel ou d'entreprise où l'on dit aux utilisateurs ce qu'ils doivent faire au lieu de dire à leur ordinateur ce qu'il doit faire pour eux.

Votre question est extrêmement importante parce qu'elle soulève une question fondamentale sur les droits et libertés individuels qui sont de plus en plus érodés, non pas par des tyrans comme dans les sociétés anciennes, mais par la cupidité des entreprises et le besoin de quelques-uns de contrôler le plus grand nombre.

En fait, nous semblons avoir oublié que les mêmes personnes qui dénonçaient la tyrannie des géants tels qu'IBM sont devenues les IBM de notre époque... Il suffit de regarder de près les pratiques commerciales de Microsoft, Apple et Adobe, pour n'en citer que quelques-unes, et de me dire sans sourciller qu'avec leurs licences restrictives, elles sont plus inoffensives que ne l'étaient les pratiques commerciales d'IBM, ce même IBM qui, par son ouverture, a en fait ouvert la voie à la révolution de l'informatique personnelle...

J'ai utilisé de nombreuses applications portables autonomes au fil des ans et, sans exception, elles se sont avérées les plus efficaces, les plus rapides et les plus petites en termes d'encombrement et de ressources et, enfin, non seulement elles sont supérieures à leurs homologues bloatware, mais la plupart du temps, elles sont également gratuites.

Il est grand temps de procéder à une deuxième révolution de l'ordinateur personnel. Améliorer la portabilité en réduisant la quantité de données et en clarifiant l'endroit où les paramètres sont stockés, dans un dossier distinct, à un emplacement physique distinct, sur un support physique tangible, est un pas dans la bonne direction.

5voto

theog Points 585

Une combinaison du registre et du stockage par utilisateur. Les registre est un élément essentiel, en particulier si votre application est COM (ce qui nécessite un enregistrement, qui s'effectue dans le registre). Le stockage par utilisateur (de la configuration, etc.) est également un élément important. La seule bonne façon de le faire est de le stocker dans des répertoires spécialement conçus à cet effet (voir Stockage isolé ).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X