Hvorfor kan du ikke afinstallere flere programmer samtidigt i Windows?
Antag at du har et lille horde af programmer, du vil afinstallere på dit Windows-system, men Windows vil kun lade dig afinstallere dem ad gangen. Hvorfor det? Hvad stopper dig fra at afinstallere flere programmer samtidigt?
Dagens Spørgsmål & Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-driven gruppe af Q & A-websteder.
Spørgsmålet
SuperUser-læser Jeroen Bollen vil vide, hvorfor en person ikke kan afinstallere flere programmer samtidigt i Windows:
Hvorfor holder Windows dig fra at afinstallere eller fjerne flere programmer samtidigt? Hvad er begrundelsen bag dette? Vil det ødelægge et internt system?
Jeg ønsker ikke at afinstallere flere programmer samtidigt, jeg er simpelthen på udkig efter årsagen, hvorfor det ikke ville være en mulighed.
Hvad er det, der forhindrer folk i at afinstallere flere programmer samtidigt i Windows?
Svaret
SuperUser bidragsydere ultrasawblade og techie007 har svaret for os. Først op, ultrasagblad:
Hvis du læser noget om, hvordan Windows installationsprogrammet fungerer, er det indlysende, at de har anvendt nogle ideer fra transaktionsdatabaser til at programmere installation og vedligeholdelse, for ikke at nævne det .msi filer selv er en database.
Der er altid spørgsmålet om at designe en database - vil du have hurtighed eller nøjagtighed / sikkerhed? Da installatører kan ændre systemets konfiguration, og at et uheld kan gøre systemet ubrugeligt, har sikkerhed været prioriteret over hastigheden.
En af grundene til det .msi installatører er så langsomt, fordi rollback-filer er lavet til hver fil osv., der vil blive ændret og derefter slettet efterfølgende, så alle ændringer kan "rulles tilbage", hvis noget går galt midt i tingene (f.eks. strømafbrydelse eller systemkrasch).
Nu tror jeg MSI-motoren selv håndhæver installation, ændring eller fjernelse af kun ét program ad gangen. Hvis du forsøger at køre en .msi fil, mens en anden afinstallerer for eksempel, vil den heller ikke løbe, eller vil vente på, at den igangværende afinstallationsproces er færdig. Ikke-MSI-installatører må ikke opføre sig på denne måde, da de ikke bruger MSI-motoren. Men på grund af denne sikkerhedsdesignbeslutning er dette nok hvorfor appwiz.cpl insisterer på at lade kun en afinstallation kaldes på en gang.
CCleaner giver dig mulighed for at starte afinstallere uden at vente på, at de tidligere er færdige, men MSI-installatører vil sandsynligvis stadig ikke arbejde parallelt på grund af ovenstående.
Efterfulgt af svaret fra techie007:
Dette gælder kun for programmer, der bruger Windows Installer-systemet.
Hvis et program bruger deres egne (un) installeringssystemer, så er der intet, der forhindrer dig i at køre en anden afinstallerer på samme tid.
Windows Installer begrænser antallet af forekomster for at undgå konflikter, der udføres af flere programmer, mens de ændrer system-wide (ofte delte) indstillinger og filer.
De fleste uninstallers sporer, hvad de skifter, så de kan rulle tilbage med succes, hvis der er en fejl. Hvis man ikke er opmærksom på alle de ændringer, der foretages (af andre afinstallere), så kan det faktisk gøre tingene VÆRE, hvis det forsøger at rulle en fejlagtig installation.
Windows Installer-systemet blev oprettet med det formål at være et samlet system for alle applikationsudviklere at bruge (på Windows) for at undgå problemer som disse.
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.