Warum können Sie mit Windows nicht mehrere Programme gleichzeitig deinstallieren oder entfernen? Was ist die Begründung dafür? Wird es ein internes System durcheinander bringen?
Ich suche nicht nach einer Möglichkeit, mehrere Programme gleichzeitig zu deinstallieren, sondern nur nach einem Grund, warum dies keine Option ist.
apt-get -y uninstall prog1 prog2 prog3
.Antworten:
Wenn Sie etwas über die Funktionsweise des Windows-Installationsprogramms lesen, ist es offensichtlich, dass einige Ideen aus Transaktionsdatenbanken auf die Programminstallation und -wartung angewendet wurden, ganz zu schweigen davon, dass die
.msi
Dateien selbst eine Datenbank sind.Es ist immer die Frage beim Entwerfen einer Datenbank - möchten Sie Geschwindigkeit oder Genauigkeit / Sicherheit? Angesichts der Tatsache, dass Installateure die Systemkonfiguration ändern können und ein Missgeschick die Funktionsfähigkeit des Systems beeinträchtigen kann, hat die Sicherheit Vorrang vor der Geschwindigkeit. Einer der Gründe, warum
.msi
Installer so langsam sind, ist, dass Rollback-Dateien für jede Datei usw. erstellt werden, die geändert und anschließend gelöscht werden. So können Änderungen zurückgesetzt werden, wenn mitten in der Sache etwas schief geht ( (z. B. Stromausfall oder Systemabsturz).Ich glaube, die MSI-Engine selbst erzwingt jeweils nur das Installieren, Ändern oder Entfernen eines Programms. Wenn Sie beispielsweise versuchen, ein Programm auszuführen,
.msi
während ein anderes deinstalliert wird, wird es entweder nicht ausgeführt oder auf die aktuell ausgeführte Deinstallation gewartet beenden. Nicht-MSI-Installer verhalten sich möglicherweise nicht so, da sie die MSI-Engine nicht verwenden. Aufgrund dieser Entscheidung zum Sicherheitsentwurf besteht das wahrscheinlich darin, dassappwiz.cpl
nur ein Deinstallationsprogramm gleichzeitig aufgerufen wird.Mit CCleaner können Sie Deinstallationsprogramme starten, ohne auf die Beendigung der zuvor ausgeführten warten zu müssen. MSI-Installer werden aus den oben genannten Gründen wahrscheinlich immer noch nicht parallel arbeiten.
quelle
Dies gilt nur für Programme, die das Windows Installer- System verwenden.
Wenn ein Programm eigene (Un-) Installationssysteme verwendet, hindert nichts Sie daran, gleichzeitig ein anderes Deinstallationsprogramm auszuführen.
Windows Installer beschränkt die Anzahl der Instanzen, um Konflikte zu vermeiden, die von mehreren Programmen beim Ändern systemweiter (häufig freigegebener) Einstellungen und Dateien verursacht werden.
Die meisten Deinstallationsprogramme verfolgen, was sie ändern, damit sie bei einem Fehler ein erfolgreiches Rollback durchführen können. Wenn man nicht weiß, dass alle Änderungen (von anderen Deinstallationsprogrammen) vorgenommen wurden, kann dies SCHLECHTER werden, wenn versucht wird, eine fehlgeschlagene Installation rückgängig zu machen.
Das Windows Installer-System wurde mit der Absicht erstellt, ein einheitliches System für alle Anwendungsentwickler zu sein (unter Windows), um Probleme wie diese zu vermeiden.
quelle
Bei Deinstallationstasks werden häufig Dateien geändert, die von mehreren Programmen oder Systemdateien \ der Registrierung gemeinsam genutzt werden (ein teilweiser Grund dafür, dass hierfür Administratorrechte erforderlich sind). Wenn mehrere Deinstallationsaufgaben gleichzeitig ausgeführt werden, kann dies zu Konflikten führen. Wenn Sie jemals mit "DLL Hell" reingelaufen wären, wäre es dasselbe. Andere Programme oder Windows selbst können in einem inkonsistenten Zustand belassen werden.
quelle
Die gleichzeitige Deinstallation von Programmen hat neben den genannten potenziellen Problemen nur einen geringen Vorteil: Sie ist nicht viel schneller als die sequentielle Deinstallation der Programme. Das Deinstallieren eines Programms ist eine Aufgabe, an der Festplatten-E / A beteiligt ist. Das Ausführen mehrerer Programme, die E / A ausführen, ist nicht schneller als das sequenzielle Ausführen (es sei denn, die Programme sind auf zwei separaten physischen Datenträgern installiert). Tatsächlich ist es wahrscheinlich langsamer, da die beiden konkurrierenden E / A-Aufgaben den Festplatten-Cache weniger effizient machen und die physischen Köpfe der Festplatte von Ort zu Ort springen müssen.
quelle