Hvorfor kan du ikke avinstallere flere programmer samtidig i Windows?
Anta at du har en liten mengde programmer du vil avinstallere på Windows-systemet, men Windows vil bare la deg avinstallere dem en om gangen. Hvorfor det? Hva hindrer deg fra å avinstallere flere programmer samtidig?
Dagens Spørsmål & Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.
Spørsmålet
SuperUser leser Jeroen Bollen vil vite hvorfor en person ikke kan avinstallere flere programmer samtidig i Windows:
Hvorfor holder Windows deg fra å avinstallere eller fjerne flere programmer samtidig? Hva er begrunnelsen bak dette? Vil det rote opp et internt system?
Jeg ønsker ikke å avinstallere flere programmer samtidig, jeg er bare ute etter årsaken (e), hvorfor det ikke ville være et alternativ.
Hva er det som stopper folk fra å avinstallere flere programmer samtidig i Windows?
Svaret
SuperUser bidragsytere ultrasawblade og techie007 har svaret for oss. Først opp, ultrasagblad:
Hvis du leser noe om hvordan Windows installeringssystemet fungerer, er det åpenbart at de brukte noen ideer fra transaksjonsdatabaser for å programmere installasjon og vedlikehold, for ikke å nevne at .msi filer selv er en database.
Det er alltid spørsmålet om å designe en hvilken som helst database - vil du ha hastighet eller nøyaktighet / sikkerhet? Gitt at installatører kan endre systemets konfigurasjon og at et uhell kan gjøre systemet ubrukelig, har sikkerhet blitt prioritert over hastighet.
En av grunnene til hvorfor .msi installatørene er så treg, fordi tilbakekopningsfilene er laget for hver fil, etc. som vil bli endret, deretter slettet etterpå, slik at eventuelle endringer blir "rullet tilbake" hvis noe går galt i midten av ting (for eksempel strømbrudd eller systemkrasj).
Nå tror jeg MSI-motoren i seg selv håndhever installering, modifisering eller fjerning av bare ett program av gangen. Hvis du prøver å kjøre en .msi fil mens en annen avinstallerer for eksempel, vil den heller ikke løpe, eller vil vente på at den nåværende avinstalleringsprosessen er ferdig. Ikke-MSI-installatører kan ikke oppføre seg på denne måten siden de ikke bruker MSI-motoren. Men på grunn av denne sikkerhetsdesignbeslutningen er dette sannsynligvis hvorfor appwiz.cpl insisterer på å la bare en avinstallering bli kalt på en gang.
CCleaner tillater deg å avinstallere avinstallere uten å vente på at de kjører ferdig, men MSI-installatører vil fortsatt ikke fungere parallelt på grunn av ovenstående.
Etterfulgt av svaret fra techie007:
Dette gjelder egentlig bare for programmer som bruker Windows Installer-systemet.
Hvis et program bruker sine egne (un) installeringssystemer, er det ingenting som hindrer deg i å kjøre en annen avinstalleringsprogram samtidig..
Windows Installer begrenser antall forekomster for å unngå at konflikter blir laget av flere programmer mens de endrer system-wide (ofte delte) innstillinger og filer.
De fleste avinstallatører sporer hva de endrer, slik at de kan rulle tilbake med hell hvis det oppstår en feil. Hvis man ikke er klar over alle endringene som blir gjort (av andre avinstalleringsprogrammer), kan det faktisk gjøre ting VERKT hvis det forsøker å rulle tilbake en mislykket installasjon.
Windows Installer-systemet ble opprettet med det formål å være et enhetlig system for alle applikasjonsutviklere å bruke (på Windows) for å unngå problemer som disse.
Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.