web-dev-qa-db-fra.com

Pourquoi ne pouvez-vous pas désinstaller plusieurs programmes à la fois sous Windows?

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

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

98
Jeroen Bollen

Si vous lisez quelque chose sur le fonctionnement du système d’installation Windows, il est évident qu’ils ont appliqué certaines idées de bases de données transactionnelles à l’installation et à la maintenance de programmes, sans oublier que les fichiers .msi sont eux-mêmes 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 du système et qu'un incident accidentel pourrait rendre le système inutilisable, la sécurité a été privilégiée par rapport à la vitesse. Une des raisons pour lesquelles les installateurs .msi sont si lents est 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 si quelque chose ne va pas au milieu. (telle qu'une panne de courant ou une panne système).

Maintenant, je crois que le moteur MSI lui-même impose l’installation, la modification ou la suppression d’un programme à la fois. Si vous essayez d’exécuter un .msi pendant la désinstallation d’un autre programme, par exemple, il ne fonctionnera pas ou attendra le programme en cours d’exécution. désinstallez pour finir. Les installateurs non-MSI peuvent ne pas se comporter de cette façon, car ils n'utilisent pas le moteur MSI. Mais à cause de cette décision de conception de sécurité, c'est probablement pour cette raison que 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. En raison de ce qui précède, les installateurs MSI ne fonctionneront probablement toujours pas en parallèle.

101
LawrenceC

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

Si un programme utilise ses propres systèmes (non) d'installation, 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 afin d'éviter que plusieurs programmes ne créent des conflits lors de la modification de paramètres et de fichiers à l'échelle 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 vous ne connaissez pas toutes les modifications apportées (par d'autres programmes de désinstallation), vous risquez de vous tromper si vous essayez 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.

19
Ƭᴇcʜιᴇ007

Les tâches de désinstallation modifient fréquemment les fichiers partagés par plusieurs programmes ou les fichiers système\le registre (une raison partielle justifiant le besoin de pouvoir administratif pour le faire). Si plusieurs tâches de désinstallation étaient exécutées simultanément, elles pourraient être en conflit. Si vous avez déjà eu un run avec "DLL Hell", ce serait la même chose. D'autres programmes ou Windows lui-même peuvent rester dans un état incohérent.

9
K.A