/ / Waarom kunt u meerdere programma's niet tegelijkertijd in Windows verwijderen?

Waarom kunt u meerdere programma's niet tegelijkertijd in Windows verwijderen?

why-are-you-unable to uninstall-multiple-programma-tegelijkertijd-in-windows-00

Stel je voor dat je een kleine horde programma's hebtwilt verwijderen van uw Windows-systeem, maar Windows laat u ze slechts één voor één verwijderen. Waarom is dat? Wat weerhoudt u om meerdere programma's tegelijkertijd te verwijderen?

De vraag-en-antwoordsessie van vandaag wordt aangeboden door SuperUser, een onderdeel van Stack Exchange, een gemeenschapgestuurde groep Q & A-websites.

De vraag

SuperUser-lezer Jeroen Bollen wil weten waarom een ​​persoon niet in staat is meerdere programma's tegelijkertijd in Windows te verwijderen:

Waarom voorkomt Windows dat u meerdere programma's tegelijkertijd verwijdert of verwijdert? Wat is de reden hiervoor? Zal het een intern systeem verpesten?

Ik wil niet meerdere programma's tegelijkertijd verwijderen, ik ben gewoon op zoek naar de reden (en) waarom het geen optie zou zijn.

Wat weerhoudt mensen ervan om meerdere programma's tegelijkertijd in Windows te verwijderen?

Het antwoord

SuperUser-medewerkers ultrasawblade en techie007 hebben het antwoord voor ons. Ten eerste, ultrasawblade:

Als u iets leest over hoe het Windows-installatiesysteem werkt, is het duidelijk dat ze enkele ideeën uit transactiedatabases hebben toegepast op de installatie en het onderhoud van programma's, om nog maar te zwijgen van het feit dat MSI bestanden zelf zijn een database.

Er is altijd de vraag bij het ontwerpen van eendatabase - wilt u snelheid of nauwkeurigheid / veiligheid? Aangezien installateurs de configuratie van een systeem kunnen wijzigen en een ongeluk het systeem onbruikbaar zou kunnen maken, heeft veiligheid voorrang gekregen op snelheid.

Een van de redenen waarom MSI installatieprogramma's zijn zo traag omdat rollback-bestandenworden gemaakt voor elk bestand, enz. dat zal worden gewijzigd en daarna verwijderd, zodat wijzigingen kunnen worden "teruggedraaid" als er iets misgaat te midden van dingen (zoals een stroomstoring of een systeemcrash).

Nu geloof ik dat de MSI-engine zelf slechts één programma tegelijk installeert, wijzigt of verwijdert. Als u probeert een MSI bestand terwijl een ander de-installeert,het wordt niet uitgevoerd of wacht tot het actieve verwijderingsproces is voltooid. Niet-MSI-installatieprogramma's gedragen zich mogelijk niet zo omdat ze de MSI-engine niet gebruiken. Maar vanwege dit veiligheidsontwerpbesluit is dit waarschijnlijk de reden appwiz.cpl staat erop dat slechts één verwijderaar tegelijk wordt aangeroepen.

Met CCleaner kunt u verwijderingsprogramma's starten zonder te wachten tot eerder uitgevoerde degenen zijn voltooid, maar MSI-installatieprogramma's zullen waarschijnlijk nog steeds niet parallel werken vanwege het bovenstaande.

Gevolgd door het antwoord van techie007:

Dit geldt eigenlijk alleen voor programma's die het Windows Installer-systeem gebruiken.

Als een programma hun eigen (de) installatiesysteem gebruikt, is er niets dat u ervan weerhoudt om tegelijkertijd een ander verwijderprogramma uit te voeren.

Het Windows-installatieprogramma beperkt het aantal instanties om te voorkomen dat conflicten worden veroorzaakt door meerdere programma's terwijl deze systeembrede (vaak gedeelde) instellingen en bestanden wijzigen.

De meeste verwijderingsprogramma's volgen wat ze dus veranderenze kunnen succesvol terugdraaien als er een storing is. Als men niet op de hoogte is van alle wijzigingen die worden aangebracht (door andere uninstallers), dan kan het de dingen erger maken als het een mislukte installatie probeert terug te draaien.

Het Windows Installer-systeem is gemaakt met de bedoeling een uniform systeem te zijn dat alle applicatie-ontwikkelaars kunnen gebruiken (op Windows) om dit soort problemen te voorkomen.


Heb je iets toe te voegen aan de uitleg? Geluid uit in de reacties. Wilt u meer antwoorden van andere technisch onderlegde Stack Exchange-gebruikers lezen? Bekijk hier de volledige discussie.