99 votes

Pourquoi ne peut-on pas désinstaller plusieurs programmes à la fois dans Windows ?

Pourquoi Windows ne vous permet-il pas de désinstaller ou de supprimer plusieurs programmes à la fois ? Quel est le raisonnement derrière cela ? Cela va-t-il perturber un système interne ?

Je ne cherche pas à savoir comment désinstaller plusieurs programmes à la fois, je cherche simplement une raison pour laquelle ce ne serait pas une option.

101voto

LawrenceC Points 70381

Si vous lisez quoi que ce soit sur le fonctionnement du système d'installation de Windows, il est évident qu'ils ont appliqué certaines idées des bases de données transactionnelles à l'installation et à la maintenance des programmes, sans parler de la .msi Les fichiers eux-mêmes sont une base de données.

La question se pose toujours lors de la conception d'une base de données : voulez-vous la vitesse ou la précision/sécurité ? Étant donné que les installateurs peuvent modifier la configuration du système et qu'un incident peut rendre le système inopérant, la sécurité a été privilégiée par rapport à la vitesse. L'une des raisons pour lesquelles .msi Si les installateurs sont si lents, c'est parce que des fichiers de retour en arrière sont créés pour chaque fichier, etc. qui sera modifié, puis supprimé par la suite - ce qui permet de "revenir en arrière" si quelque chose ne va pas au milieu des choses (comme une panne de courant ou un crash du système).

Je crois que le moteur MSI lui-même impose l'installation, la modification ou la suppression d'un seul programme à la fois. .msi pendant qu'un autre est en cours de désinstallation, par exemple, il ne s'exécutera pas ou attendra que la désinstallation en cours se termine. Les installateurs non MSI peuvent ne pas se comporter de cette manière, puisqu'ils n'utilisent pas le moteur MSI. Mais en raison de cette décision de conception de sécurité, c'est probablement la raison pour laquelle appwiz.cpl insiste pour ne laisser qu'un seul désinstalleur être appelé à la fois.

CCleaner vous permet de lancer des désinstallateurs sans attendre la fin de ceux qui sont en cours d'exécution. Les installateurs MSI ne fonctionneront probablement pas en parallèle à cause de ce qui précède.

19voto

Brandon Points 2580

Cela ne s'applique réellement qu'aux programmes qui utilisent le Installateur Windows système.

Si un programme utilise son propre système d'installation ou de désinstallation, rien ne vous empêche de lancer un autre programme de désinstallation en même temps.

Windows Installer limite le nombre d'instances afin d'éviter les conflits entre plusieurs programmes qui modifient les paramètres et les fichiers du système (souvent partagés).

La plupart des désinstallateurs suivent ce qu'ils modifient afin de pouvoir revenir en arrière en cas d'échec. Si l'un d'entre eux n'est pas conscient de toutes les modifications apportées (par d'autres désinstallateurs), il peut en fait aggraver la situation s'il tente de revenir en arrière en cas d'échec de l'installation.

Le système Windows Installer a été créé dans l'intention d'être un système unifié à utiliser par tous les développeurs d'applications (sous Windows), afin d'éviter ce genre de problèmes.

9voto

K.A.Monica Points 6255

Les tâches de désinstallation modifient fréquemment les fichiers partagés par plusieurs programmes ou les fichiers système. \the Registre (une raison partielle pour avoir besoin d'un pouvoir administratif pour le faire). Si plusieurs tâches de désinstallation s'exécutent en même temps, elles peuvent entrer en conflit. Si vous avez déjà été confronté à l'"enfer des DLL", c'est la même chose. D'autres programmes ou Windows lui-même peuvent se retrouver dans un état incohérent.

-1voto

Niccolo M. Points 734

La désinstallation simultanée de programmes, en plus de présenter les problèmes potentiels mentionnés précédemment, présente très peu d'avantages : elle ne sera pas beaucoup plus rapide que la désinstallation séquentielle des programmes. La désinstallation d'un programme est une tâche impliquant une entrée/sortie de disque. Exécuter plusieurs programmes qui font de l'IO n'est pas plus rapide que de les exécuter séquentiellement (à moins que les programmes soient installés sur deux disques physiques distincts). En fait, il est probable que ce soit plus lent. car les deux tâches d'E/S concurrentes rendront le cache du disque moins efficace et les têtes physiques du disque devront sauter d'un endroit à l'autre.

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