26Aug
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 du fra at afinstallere flere programmer samtidigt?
Dagens Spørgsmål &Svar session kommer til os høflighed af SuperUser-en underafdeling af Stack Exchange, en community-drevet gruppe af Q & A-websteder.
Spørgsmål
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 vil ikke 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, ultrasawblade:
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, at . msi -filer selv er en database.
Der er altid spørgsmål i design af 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, at . msi installatører er så langsom, skyldes, at 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 imidt i ting( som f.eks. strømbrud eller systemkrasj).
Jeg tror nu, at 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 afsluttes. Ikke-MSI-installatører må ikke opføre sig på denne måde, da de ikke bruger MSI-motoren. Men på grund af denne sikkerhedsdesign beslutning er dette nok hvorfor appwiz.cpl insisterer på at lade kun en afinstallationsanordning blive kaldt 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) installationssystemer, så er der intet, der forhindrer dig i at køre en anden afinstallationsprogram 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 ændrer sig, 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 fejlrettet 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.