Voici comment les installateurs de logiciels fonctionnent sous Windows, macOS et Linux

Les systèmes d'exploitation modernes vous fournissent des méthodes simples pour configurer de nouvelles applications. Mais que se passe-t-il réellement lorsque vous exécutez ce programme d'installation ou que vous exécutez cette commande?

Les systèmes d'exploitation modernes vous fournissent des méthodes simples pour configurer de nouvelles applications.  Mais que se passe-t-il réellement lorsque vous exécutez ce programme d'installation ou que vous exécutez cette commande?
Publicité

Les systèmes d'exploitation modernes vous fournissent des méthodes simples pour configurer de nouvelles applications. Ceux-ci incluent des paquets d'installateurs automatisés ainsi que des commandes qui installent de nombreux morceaux de logiciel à la fois. Mais que se passe-t-il réellement lorsque vous exécutez ce programme d'installation ou que vous exécutez cette commande?

Jetons un coup d'œil à la façon dont le logiciel s'installe sur trois plates-formes de bureau principales: Windows, macOS et Linux.

Méthodes d'installation du logiciel

Il existe différentes façons d'obtenir de nouvelles applications sur votre ordinateur. Dans l'ordre de la complexité croissante, ceux-ci comprennent:

  • Compilation de logiciels - Construire l'application à partir de son code source. Pour les utilisateurs les plus techniques seulement.
  • Archives du logiciel - Décompacter les archives telles que les fichiers ZIP et exécuter le programme depuis l'endroit où vous l'avez extrait. Cela peut nécessiter quelques ajustements supplémentaires.
  • Packages d'installation - Recherche d'un fichier d'installation et (double-) clic pour démarrer l'installation.
  • Gestionnaires de logiciels / Magasins - Sélection de l'application à partir d'une interface agréable et en cliquant sur un gros bouton "Installer". C'est magique!

Dans cet article, nous examinerons les paquets d'installation, car la plupart des gestionnaires de logiciels traitent ces types de paquets en coulisses. Pour les principales plateformes de bureau actuelles - Windows, macOS et Linux - nous verrons ce qui compose l'un de ces paquets, et ce qui se passe lorsque vous les installez.

Microsoft Windows

Les paquets d'installation que vous êtes susceptible de rencontrer pour Windows viennent dans l'une des deux principales saveurs. Fichiers exécutables (EXE) peuvent configurer votre programme en effectuant la lourde levée de placer les fichiers au bon endroit et effectuer des mises à jour du Registre Windows. Les packages Windows Installer (MSI) ajoutent à cela en fournissant des services standardisés tels que les désinstallations.

Vous pouvez inspecter le contenu des fichiers EXE ou MSI en ouvrant l'archive avec 7-Zip 7Zip: Un programme gratuit pour décompresser les formats d'archives inhabituels 7Zip: Un programme gratuit pour décompresser les formats d'archives inhabituelles Lire la suite. Si vous l'utilisez pour regarder le propre programme d'installation de 7-Zip, vous trouverez un certain nombre de fichiers différents:

paquet de logiciel d'anatomie 7zip contents

Bien que ces fichiers ne contiennent aucun dossier contenant dans le programme d'installation, le développeur aura pointé chacun d'eux dans un répertoire cible. La plupart d'entre eux se retrouvent dans le "lieu d'installation par défaut" - la même suggestion que vous voyez généralement pour un dossier comme "C: \ Program Files \ [nom du programme]" ou "C: \ Program Files (x86) \ [votre nouvelle application ] "."

Lorsque vous utilisez un outil sophistiqué tel que InstallShield pour créer des packages d'installation, les développeurs d'applications peuvent personnaliser l'installation. Par exemple, ils peuvent désigner les versions de Windows sur lesquelles ils vont installer, configurer des raccourcis à créer dans le menu Démarrer et / ou sur le bureau, ou collecter des informations utilisateur telles que le nom, l'adresse, etc. L'exemple de projet InstallShield l'image ci-dessous montre l'écran permettant de définir si les clés de registre Windows doivent être créées ou mises à jour.

progiciel d'anatomie installshield registry

Avec InstallShield, les fichiers d'application et autres personnalisations sont enveloppés dans un fichier setup.exe . L'ouvrir avec 7-Zip montrera que l'intérieur est un paquet MSI qui, lorsqu'il est exécuté, ressemble à l'installation à laquelle nous sommes tous habitués. Passons en revue ce qui se passe pendant ce processus.

logiciel d'anatomie installshield installer

Processus d'installation de Windows

Un installateur prendra les mesures suivantes pour configurer votre application (l'ordre précis pouvant varier en fonction des personnalisations du développeur):

  1. Un programme d'installation peut contenir d'autres archives, comme le MSI mentionné ci-dessus ou des formats comme CAB. Dans un premier temps, l'installateur les extraira dans un endroit temporaire.
  2. Ensuite, il vérifiera que toutes les dépendances qui ont été définies sont disponibles. Si quelque chose manque, il sera téléchargé si possible, ou quittez le programme d'installation avec une erreur sinon.
  3. Si des dépendances sont requises, elles seront d'abord installées à l'aide du programme d'installation fourni (une interruption a-t-elle été interrompue pour .NET Framework? Microsoft .NET Framework: Pourquoi vous en avez besoin et comment l'installer sur Windows Microsoft .NET Framework: Pourquoi? Vous en avez besoin et comment l'installer sur Windows Vous devez l'installer ou le mettre à jour, mais savez-vous ce qu'est le .NET Framework? Nous vous montrons pourquoi vous en avez besoin et comment vous pouvez obtenir la dernière version.
  4. Ensuite, le programme d'installation commencera à copier les fichiers de l'application et à les placer dans leur emplacement correct.
  5. Si le développeur a configuré des raccourcis, le programme d'installation créera et pointera vers le chemin d'installation réel (rappelez-vous, vous pouvez changer cela Comment créer des raccourcis de bureau Windows facilement Comment créer des raccourcis de bureau Windows facilement Les raccourcis de bureau intelligents peuvent vous sauver sans scruter les menus et les dossiers, nous vous montrons des moyens simples et rapides de les créer.Lire la suite lorsque le programme d'installation est lancé).
  6. Changements au registre de Windows 3 Outils pour surveiller et examiner le registre de Windows 3 Outils pour surveiller et examiner le registre de Windows Le registre de Windows est l'une des parties les plus mal comprises du système d'exploitation de Windows. Nous vous montrons des outils qui peuvent simplifier le registre et vous aider à identifier les problèmes. Lire la suite, le cas échéant, sera exécuté.
  7. Enfin, l'installateur peut inviter l'utilisateur à entrer des informations telles que le nom ou l'adresse du site Web.

Ce processus peut sembler complexe par rapport au système d'exploitation suivant sur la liste. Jetons un coup d'oeil à l'installation de logiciels sur macOS.

Apple macOS

Les installateurs de Windows ont beaucoup de choses sous le capot. Mais si vous avez utilisé un Mac, vous savez que l'installation d'une application est souvent aussi simple que de télécharger une copie de l'application, d'ouvrir l'image disque (DMG) et de suivre quelques instructions faciles. Installation et suppression du logiciel Mac: 5 méthodes faciles Comment faire pour installer et supprimer le logiciel Mac: 5 méthodes faciles Commuté sur un Mac et de se familiariser avec les bases? Vous vous demandez comment installer un logiciel à partir de la ligne de commande? Vous avez d'anciennes applications Windows que vous devez simplement exécuter sur votre ordinateur Apple? Lire la suite . Parfois, le téléchargement vous fournit même une icône "Faites glisser ici!"

Plongeons dans le bundle APP ainsi que son homologue l'installateur PKG.

Structure du paquet macOS

Le fichier APP sur la surface est en fait plus simple que Windows pour deux raisons principales. Premièrement, c'est un dossier standard. La seule différence est qu'elle se termine par un suffixe ".APP". Si vous en téléchargez un sur Windows, vous verrez qu'il s'affiche comme tout autre dossier de fichier dans l'Explorateur. Deuxièmement, les fichiers APP exigent que tout ce dont le programme a besoin soit inclus. Les dépendances manquantes avec ces types d'installateurs ne sont pas à craindre.

Ces bundles doivent contenir trois éléments dans un dossier appelé "Contents": 1) un fichier "Info.plist" contenant des métadonnées d'application telles que le nom, la langue, le numéro de version, etc .; 2) un répertoire "MacOS" contenant l'exécutable principal; et 3) un répertoire "Resources" contenant les ressources dont l'application a besoin pour fonctionner (par exemple une icône d'application). Il existe d'autres dossiers facultatifs tels que «Frameworks» (ensembles de fonctionnalités qui ne sont pas spécifiques à l'application), «Plug-Ins» (fonctionnalité pour l'application qui n'est pas requise pour l'exécuter) et «SharedSupport» (données externes comme modèles).

dossiers de l'application mac

En revanche, le format PKG est une combinaison d'un programme d'installation de type Windows avec une structure de type Unix. 3 Systèmes d'exploitation UNIX qui ne sont pas Linux 3 Systèmes d'exploitation UNIX qui ne sont pas Linux Récemment, les gens ont commencé à confondre " UNIX "avec" Linux. " Linux a été influencé par UNIX, mais les systèmes UNIX n'ont aucun lien avec Linux. Voici quelques systèmes UNIX importants à connaître. Lire la suite . L'application 7-Zip ouvrira également un fichier PKG compressé au format xar . Within contient un ou plusieurs fichiers Payload, qui sont également des archives. Pour extraire son contenu, utilisez la chaîne de commandes suivante ( cpio est un format d'archive ainsi qu'un programme pour les manipuler) dans un terminal Mac ou Linux:

cat Payload | gunzip -dc | cpio -i 

Une fois cela fait, vous verrez un arbre de répertoire semblable à Unix.

Dans l'exemple ci-dessous, j'ai utilisé le convertisseur de document, Pandoc. Il inclut un fichier binaire dans / usr / local / bin et une documentation dans / usr / local / share / man . Comment ces choses se mettent-elles en place? Nous allons voir comment chacune d'entre elles s'installe réellement sur votre Mac.

structure de mac pkg

J'ai utilisé la version Windows de 7-Zip pour illustrer ceci, plutôt que la seule version Linux de la ligne de commande.

Processus d'installation de macOS APP

Lorsque vous déposez ce fichier APP sur votre dossier Applications, cela ne change pas vraiment grand-chose. Rappelez-vous, tout ce qu'il faut pour exécuter le programme est autonome. La seule différence par rapport à un glisser-déposer standard est que le fichier "Info.plist" est enregistré avec le système.

copie de l'application mac

Cela va configurer des choses telles que l'exécutable appelé lorsque vous démarrez l'application, quelle icône est affichée, les types de fichiers qu'il prend en charge, et plus encore. Mais sinon, votre application (telle que le package APP pour l'éditeur Atom illustré ci-dessous) est maintenant prête à être utilisée.

application mac installée

Processus d'installation de macOS PKG

D'autre part, l'ouverture d'un fichier PKG lance un programme d'installation de type "assistant". Pour les programmes simples, il s'agit généralement d'un programme d'installation de composants qui passe généralement par les étapes suivantes:

  1. Exécutez le script de préinstallation .
  2. Déballez le contenu "Payload" sur la machine.
  3. Exécutez le script de post - installation .

installation de mac pkg

Les développeurs peuvent ensuite combiner plusieurs composants en une seule installation d' archivage de produit . Cela ajoute des options telles que l'affichage d'un CLUF à accepter par l'utilisateur, la collecte d'informations auprès de l'utilisateur et la sélection des composants à installer. Pendant ce temps, l'installateur Apple s'occupe de tous les détails de l'installation des composants nécessaires en arrière-plan.

Parlant des installateurs basés sur Unix, nous allons passer aux deux principaux formats de paquets Linux dans la section suivante.

Ubuntu et Fedora Linux

Ah, DEB versus RPM Comment installer un logiciel sous Linux: Explication des formats de paquets Comment installer un logiciel sous Linux: Explication des formats de paquets Vous êtes passé à Linux et vous voulez installer un logiciel. Mais les gestionnaires de paquets diffèrent selon votre distribution. Alors, quelles applications pouvez-vous télécharger et installer? Tout est dans les acronymes. Lire la suite . Une des grandes guerres de flammes, vaincue seulement par les goûts de vi contre emacs ou KDE contre GNOME. Pourtant, ces formats sont plus similaires que différents. Nous allons jeter un coup d'oeil.

Structure du fichier de package Linux

Pour voir l'intérieur d'un fichier DEB, vous pouvez essayer un gestionnaire d'archives GUI. Sinon, utilisez la commande ar . La commande suivante est entrée dans le terminal 40+ Commandes de terminal Linux les plus utilisées 40+ Commandes de terminal Linux les plus utilisées Que vous soyez débutant ou simplement curieux du terminal Linux, voici les commandes les plus courantes qui vous accompagneront tout au long de votre vie. sur Linux. Read More va extraire le contenu d'un paquet Debian:

 ar -x name-of-your-package.deb 

Trois fichiers vont sortir de ceci:

  • control.tar.gz - Celui-ci contient à son tour un fichier principal, Control, qui contient des métadonnées sur le package, telles que son nom officiel, sa version et ses dépendances. Il peut également contenir d'autres fichiers tels que des scripts à exécuter pendant le processus d'installation ou des fichiers de configuration par défaut.
  • data.tar.gz - Les fichiers qui composent l'application elle-même sont dans cette archive TAR.GZ. Tout, y compris les binaires, la documentation et les configurations par défaut sont ici. Dans le package d'exemple kde-service-menu-encfs_0.5.2_all.deb, il contient des fichiers et des répertoires comme indiqué dans l'image ci-dessous.
  • debian-binary - Ceci est un fichier qui définit la version du format de paquet Debian utilisé par le fichier. Pour les distributions modernes, cela ne contiendra que "2.0" sur une seule ligne.

contrôle principal deb

Dans Fedora, vous pouvez utiliser les commandes rpm2cpio et cpio pour extraire un paquet RPM et parcourir leurs fichiers:

 rpm2cpio name-of-your-package.rpm | cpio -idvm 

Pour le paquet kde-cli-tools-5.9.4-2.fc26.x86_64.rpm, vous verrez une arborescence de fichiers similaire au paquet DEB. Mais il ne fournit pas les métadonnées, du moins pas dans le paquet binaire . Vous devrez télécharger le RPM source (.SRC.RPM) correspondant à votre version binaire, puis utiliser la même commande ci-dessus sur ce fichier. Inclus dans ce sera un fichier SPEC qui contient plusieurs des mêmes éléments que le fichier de contrôle dans un paquet Debian.

Maintenant que nous avons une bonne compréhension de la structure des paquets Linux, explorons ce qui se passe quand vous les installez. Comment installer un logiciel sous Linux: Formats de paquets expliqués Comment installer un logiciel sous Linux: Explication des formats de paquets Vous êtes passé à Linux, et vouloir installer un logiciel. Mais les gestionnaires de paquets diffèrent selon votre distribution. Alors, quelles applications pouvez-vous télécharger et installer? Tout est dans les acronymes. Lire la suite .

Installation du paquet Linux

Lorsque vous installez des packages de l'un ou l'autre format, quel que soit le frontal, un ensemble d'étapes similaire se produit:

  1. Le système de package examine le contenu du package pour déterminer s'il existe des dépendances manquantes. Selon l'outil, il vous avertira ou réglera le téléchargement.
  2. Si les packages contiennent des scripts ou des commandes de pré-installation, ils s'exécutent ensuite.
  3. Ensuite, le système de paquets extrait réellement les fichiers du paquet.
  4. Avec les fichiers en place, les scripts post-installation s'exécutent.
  5. Enfin, le package est enregistré avec la base de données interne à l'aide de ses métadonnées, de sorte qu'il peut être désinstallé ultérieurement.

Savoir comment le logiciel est installé est une bonne chose

Étant donné que les développeurs de systèmes d'exploitation et les logiciels qui les exécutent facilitent grandement l'installation des logiciels, vous n'avez pas vraiment besoin de prêter attention aux détails. Mais avoir quelques connaissances sur ce qui se passe dans les coulisses vous donnera une certaine tranquillité d'esprit sur ce qui est installé sur votre système, ainsi que d'aider avec le dépannage.

Combien de méthodes d'installation de logiciel ci-dessus avez-vous faites? Préférez-vous DEB ou RPM? Ou est-ce que les ensembles d'applications de Mac représentent l'apogée de la facilité d'utilisation? Avez-vous déjà eu une installation cauchemardesque? Faites-nous savoir dans les commentaires ci-dessous!

In this article