Varför kan du inte avinstallera flera program samtidigt i Windows?
Antag att du har ett litet horde av program du vill avinstallera på ditt Windows-system, men Windows låter dig bara avinstallera dem en åt gången. Varför är det så? Vad hindrar dig från att avinstallera flera program samtidigt?
Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Frågan
SuperUser-läsaren Jeroen Bollen vill veta varför en person inte kan avinstallera flera program samtidigt i Windows:
Varför skyddar Windows dig från att avinstallera eller ta bort flera program samtidigt? Vad är resonemanget bakom detta? Kommer det att krossa ett internt system?
Jag vill inte avinstallera flera program samtidigt, jag letar bara efter anledningen till varför det inte skulle vara ett alternativ.
Vad är det som hindrar människor från att avinstallera flera program samtidigt i Windows?
Svaret
SuperUser bidragsgivare ultrasawblade och techie007 har svaret för oss. Först upp, ultrasågblad:
Om du läser något om hur installationsprogrammet för Windows fungerar är det uppenbart att de tillämpade några idéer från transaktionsdatabaser för att programmera installation och underhåll, för att inte nämna det .msi filer själva är en databas.
Det finns alltid frågan vid utformningen av en databas - vill du ha hastighet eller noggrannhet / säkerhet? Med tanke på att installatörer kan ändra systemets konfiguration och att ett misslyckande skulle kunna göra systemet oförmögen, har säkerhet prioriterats över hastigheten.
En av anledningarna till varför .msi installatörerna är så långsamma eftersom återupprullningsfiler skapas för varje fil etc. som kommer att ändras, sedan raderas efteråt, vilket gör att alla ändringar kan "rullas tillbaka" om något går fel i mitten av saker (t.ex. strömavbrott eller strömavbrott systemkrasch).
Nu tror jag att MSI-motorn själv verkar installera, ändra eller ta bort ett program åt gången. Om du försöker köra en .msi fil medan en annan avinstalleras till exempel, kommer den inte heller att köras, eller kommer att vänta på att den pågående avinstallationsprocessen slutförts. Icke-MSI-installatörer kanske inte beter sig så eftersom de inte använder MSI-motorn. Men på grund av det här säkerhetsdesignbeslutet är detta förmodligen varför appwiz.cpl insisterar på att endast en avinstallerare ska ringas på en gång.
CCleaner tillåter dig att starta avinstallatörer utan att vänta på att de tidigare körts, men MSI-installatörer kommer sannolikt fortfarande inte att fungera parallellt på grund av ovanstående.
Följd av svaret från techie007:
Detta gäller egentligen bara för program som använder Windows Installer-systemet.
Om ett program använder sina egna (un) installationssystem, så finns det inget som hindrar dig från att köra en annan avinstallerare samtidigt.
Windows Installer begränsar antalet instanser för att undvika att konflikter görs av flera program medan de ändrar systemövergripande (ofta delade) inställningar och filer.
De flesta avinstallatörer spårar vad de ändrar, så att de kan rulle tillbaka med framgång om det finns ett fel. Om man inte är medveten om alla ändringar som görs (av andra avinstallationsföretag), kan det faktiskt göra saker VARNING om det försöker rulla en misslyckad installation.
Windows Installer-systemet skapades med avsikt att vara ett enhetligt system för alla applikationsutvecklare att använda (på Windows) för att undvika problem som dessa.
Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.