Alertes de sécurité en cours Discussion Discussion
Faire un lien Lien
Assiste.com - Sécurité informatique - Décontamination - Antivirus - Protection - Protection de la Vie Privée Assiste.com - Sécurité informatique - Décontamination - Antivirus - Protection - Protection de la Vie Privée


Portable (logiciel portable)

Dernière mise à jour : 2017-02-01T00:00 - 01.02.2017 - 00h00
29.09.2014 - 00h00 - Paris - (Assiste - Pierre Pinard) - Mise à jour

Portable (logiciel portable)

Portable (logiciel portable - version portable d'un logiciel)Portable (logiciel portable - version portable d'un logiciel)Portable (logiciel portable - version portable d'un logiciel)

Un logiciel portable, ou une version portable d'un logiciel, est un logiciel qui ne nécessite pas de phase d'installation pour être utilisable, ni de phase de désinstallation pour être supprimé.

Nombreux avantages et aucun inconvénient :

  • Un logiciel portable est utilisable dès son téléchargement (et après décompression s'il est livré compressé).
  • Pour supprimer un logiciel portable d'un ordinateur, il suffit de supprimer ses fichiers (ou le répertoire où il a été copié si ce répertoire ne contient que ce logiciel (on supprimera également le/les raccourcis que l'utilisateur aura éventuellement créé).
  • L'avantage notable des logiciels portables est qu'ils peuvent être utilisés depuis un support amovible sans nécessiter de phase d'installation dans la machine sur laquelle ils vont être utilisés. Ceci est particulièrement utile avec les logiciels de décontamination qui peuvent alors être gravés sur un CD/DVD et être utilisés sans risque de compromission sur une machine infectée.
  • Un autre avantage est l'absence totale d'inscriptions / désinscriptions dans le Registre Windows, ni dans le réservoir de composants de Windows (WinSxS), ni dans tant d'endroits où des traces des applications installables sont présentes.
  • Enfin, l'avantage des applications portables est que, n'utilisant pas d'installeur, l'utilisateur ne coure jamais les risques liés aux installeurs et aux " trucs " indésirables ou hostiles qui viennent avec, ni les risques liés au sponsoring et au repacking. Attention tout de même aux risques liés aux logiciels téléchargeurs (downloader).

Pourquoi un dsinstalleur d'applicationsDésinstalleur d'applications - Pourquoi ?Pourquoi un dsinstalleur d'applications

Pour utiliser une application, sous Windows (à l'exception des applications dites « portables », qui sont entièrement autonomes et indépendantes de quoi que ce soit, et dont il faut préférer la version, lorsqu'elle existe, plutôt que la version installable), il faut l'Installer.

L'installation d'une application, dans Windows, ne consiste pas, uniquement, à copier les fichiers de l'application à un endroit donné. De vastes manœuvres, une véritable nébuleuse, sont lancées :

  • S'assurer que l'application est légale (anti-piratage), avec des inscriptions dans des zones cachées, accompagnées du calcul de GUID sur la base de la MAC Address et d'autres numéros uniques (numéro de série du processeur, etc. ...).
  • Créer les répertoires d'accueil de l'application, ses sous-répertoires, le répertoire d'accueil de ses raccourcis de lancement, etc. ...
  • Inscrire, dans le Registre Windows, les types de fichiers que l'application manipule : ce sont les "associations".
  • Créer divers raccourcis de lancement dans le menu de Windows (le menu " Démarrer "), divers raccourcis (ou " tuiles ") sur le bureau, d'autres raccourcis encore dans la barre de lancement rapide, et d'autres encore dans le Systray (la " zone de notification " en bas à droite, près de l'horloge), etc. ....
  • Apporter et copier, dans des fichiers, les DLLs que l'application n'est pas certaine de trouver dans toutes les versions de Windows. Historiquement, ces fichiers étaient installés de manière anarchique, un peu partout, par les créateurs de logiciels, mais Microsoft à mis un grand coup de pied dans cette fourmilière, depuis Windows Vista, avec l'imposition du " Magasin à composants ", le gigantesque répertoire WinSxS).
  • Inscrire les besoins en ressources partagées. L'application est liée, par des pointeurs et des registres à décalage d'adressage, à une foule de modules standards offrant des fonctionnalités dont l'application a besoin : ce sont les DLLs stockées dans le " Magasin à composants " de Windows, appelé WinSxS, avec bien d'autres ressources partagées.
  • Faire accepter, par le futur utilisateur, un ou des contrats (contrat dit " Privacy " ou " Vie privée " - politique de protection d'irrespect de votre vie privée par l'application, par l'éditeur de l'application et par tous les tiers invités dans l'application, contrat dit " Contrat de licence Utilisateur final " ou " EULA " ( End User Licence Agreement ") de cession de licence d'utilisation de l'application, et contrat dit " Conditions générales " ou " Terms " des termes et conditions d'usage, etc. ...).

Cela se traduit par des inscriptions innombrables dans une base de données de Windows connue sous le nom de "Base de registre" (formellement, le nom de cette base de données est " Registre Windows ", depuis 2009).

Tout cela constitue les raisons pour lesquelles il faut :

  • Préparer la désinstallation (et suivre ce qui se passe) - Travail à faire en amont (au moment de l'installation)
    Si on en a les moyens, acheter un moniteur de surveillance des installations, comme Total Uninstall, dont on lira avantageusement la fiche pour comprendre comment ce type de moniteurs fonctionnent et pourquoi ils sont indispensables à une désinstallation réellement complète d'une application (y compris les inscriptions créées après l'installation, lors de l'usage de l'application).

  • Désinstaller complètement (mieux qu'avec le désinstalleur de l'application) - Travail en aval (au moment de la désinstallation)
    Utiliser un désinstalleur d'applications qui va bien au-delà de ce que font, et surtout ne font pas, les désinstalleurs livrés avec chacune des applications installées. Même la version gratuite de Revo Uninstaller donne des résultats de désinstallations incomparablement supérieurs aux désinstalleurs natifs.

En complément d'informations, on lira avantageusement, les articles suivants :

Ce n'est pas tout : lors de la première utilisation de chacune des fonctions de l'application, de nouvelles associations et inscriptions dans le Registre Windows sont créées.

En cours d'usage de l'application, des traces sont crées, comme les traces de confort notant les derniers documents (fichiers) manipulés par l'application (les MRUs) afin que vous puissiez les retrouver facilement lors du prochain usage de l'application.

Enfin, Windows, pour échapper au DLL Hell (l'enfer des DLL), s'empresse de faire une copie des DLLs utilisées par l'application (dans un réservoir dit "Côte-à-côte" (Side by Side), le répertoire WinSxS), pour être capable de les lui resservir dans l'état au jour de l'installation, même si des mises à jour des DLLs interviennent plus tard.

Bref : l'installation et l'utilisation d'une application provoque une nébuleuse d'actions dans Windows.

Lorsqu'une application est devenue inutile, il ne faut pas l'effacer (surtout pas), il faut la Désinstaller.

Généralement, les applications installées viennent avec une procédure de désinstallation. Mais, si la procédure de désinstallation sait, avec certitude, un certain nombre de choses, elle ne peut préjuger de l'environnement de l'installation spécifique à la version du système, ni de l'utilisation qui en est faite par l'utilisateur. Les procédures de désinstallation livrées avec les installateurs sont donc des standards minimalistes. A cela, il faut ajouter l'orgueil et l'hypocrisie des éditeurs de logiciels qui rechignent à ce que leurs applications soient désinstallées et à perdre un utilisateur / client. Ils laissent donc traîner, plus ou moins volontairement, des traces de l'application désinstallée afin de faciliter une réinstallation ultérieure.

Mark Russinovich parle des traces laissées par les désinstalleurs "normaux"

Il est exact que les désinstallations de logiciels ne se font jamais de manière complète, et laissent des traces dans le Registre Windows. On s'intéressera, sur ce sujet, à une réflexion de Mark Russinovich (le fondateur de SysInternals, toujours à la tête de cette division de Microsoft depuis que SysInternals a été racheté par Microsoft). En 2005, Mark Russinovich réfléchi sur le fait que les installeurs installent, mais se fichent de la désinstallation (les développeurs paramètrent les installeurs pour installer leurs développements, mais ne pensent pas que l'utilisateur puisse désinstaller leur bébé). Il évoque aussi le glissement des inscriptions d'installations, de la BdR (Base de Registre) vers .NET en XML. Et Mark Russinovich de parler des traces laissées par les désinstalleurs dans le Registre Windows :
  • Une installation d'une application est souvent faite pour tous les utilisateurs (tous les comptes) d'une machine.
  • Les désinstallations, au contraire, ont la permission de désinstaller les inscriptions dans ce que voit un utilisateur sous sa ruche HKCU (son profil personnel dans l'une des hiérarchies du Registre Windows). Les autres profils, des autres utilisateurs (des autres comptes) ne lui sont pas accessibles, sauf à donner au désinstalleur ce droit, ce qui créerait une faille de sécurité. Donc il y a, invariablement, des inscriptions non désinscrites.

C'est ainsi que vont les choses (et le parallèle est fait par Mark Russinovich, avec le même problème dans UNIX / Linux).

La réflexion de Mark Russinovich (le fondateur de SysInternals) sur les installeurs et les traces laissées à la désinstallation.
Il est exact qu'avant Windows XP, la taille du Registre Windows était limitée (1).
La limitation de la taille du Registre est supprimée depuis Windows XP (2).