Page d'accueil » comment » Pourquoi est-il impossible de désinstaller plusieurs programmes simultanément sous Windows?

    Pourquoi est-il impossible de désinstaller plusieurs programmes simultanément sous Windows?

    Supposons que vous souhaitiez désinstaller un petit nombre de programmes sur votre système Windows, mais que Windows ne vous laissera les désinstaller que un à la fois. Pourquoi donc? Qu'est-ce qui vous empêche de désinstaller plusieurs programmes simultanément?

    La séance de questions et réponses d'aujourd'hui nous est offerte par SuperUser, une sous-division de Stack Exchange, un groupe de sites Web de questions-réponses dirigé par la communauté..

    La question

    Le lecteur superutilisateur Jeroen Bollen souhaite savoir pourquoi une personne est incapable de désinstaller plusieurs programmes simultanément sous Windows:

    Pourquoi Windows vous empêche-t-il de désinstaller ou de supprimer plusieurs programmes simultanément? Quel est le raisonnement derrière cela? Cela va-t-il gâcher un système interne?

    Je ne veux pas désinstaller plusieurs programmes simultanément, je cherche simplement les raisons pour lesquelles cela ne serait pas une option.

    Qu'est-ce qui empêche les utilisateurs de désinstaller plusieurs programmes simultanément sous Windows?

    La réponse

    Les contributeurs de SuperUser, ultrasawblade et techie007, ont la solution pour nous. Tout d'abord, ultrasawblade:

    Si vous lisez quelque chose sur le fonctionnement du système d’installation Windows, il est évident qu’ils ont appliqué certaines idées issues de bases de données transactionnelles à l’installation et à la maintenance de programmes, sans oublier que .msi les fichiers eux-mêmes sont une base de données.

    Il est toujours question de concevoir une base de données: voulez-vous de la rapidité, de la précision ou de la sécurité? Etant donné que les installateurs peuvent modifier la configuration d'un système et qu'un incident pourrait rendre le système inutilisable, la sécurité est désormais une priorité.

    Une des raisons pour lesquelles .msi les installateurs sont si lents que c’est parce que les fichiers de restauration sont créés pour chaque fichier, etc. qui seront modifiés, puis supprimés, ce qui permet de «restaurer» les modifications en cas de problème crash du système).

    Maintenant, je crois que le moteur MSI lui-même applique l’installation, la modification ou la suppression d’un seul programme à la fois. Si vous essayez de lancer un .msi fichier lorsqu’un autre est en cours de désinstallation, par exemple, il ne fonctionnera pas ou attendra la fin du processus de désinstallation en cours. Les installateurs non-MSI peuvent ne pas se comporter de cette manière car ils n'utilisent pas le moteur MSI. Mais en raison de cette décision de conception de la sécurité, c'est probablement pourquoi appwiz.cpl insiste pour qu'un seul programme de désinstallation soit appelé à la fois.

    CCleaner vous permet de lancer des programmes de désinstallation sans attendre la fin des programmes en cours d'exécution, mais les programmes d'installation de MSI ne fonctionneront probablement toujours pas en parallèle en raison de ce qui précède..

    Suivi de la réponse de techie007:

    Cela ne s'applique vraiment qu'aux programmes qui utilisent le système Windows Installer.

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

    Windows Installer limite le nombre d'instances pour éviter que plusieurs programmes ne créent des conflits lorsque ceux-ci modifient les paramètres et les fichiers du système (souvent partagés)..

    La plupart des programmes de désinstallation suivent ce qu'ils modifient afin de pouvoir restaurer en cas d'échec. Si quelqu'un n'est pas au courant de toutes les modifications apportées (par d'autres programmes de désinstallation), il risque de rendre les choses encore pire s'il tente d'annuler une installation ayant échoué..

    Le système Windows Installer a été créé dans l’intention d’être un système unifié que tous les développeurs d’applications peuvent utiliser (sous Windows) afin d’éviter de tels problèmes..


    Avez-vous quelque chose à ajouter à l'explication? Sound off dans les commentaires. Voulez-vous lire plus de réponses d'autres utilisateurs de Stack Exchange doués en technologie? Découvrez le fil de discussion complet ici.