Zašto ne možete deinstalirati više programa istovremeno u sustavu Windows?
Pretpostavimo da imate malu hordu programa koje želite deinstalirati na Windows sustavu, ali Windows će vam dopustiti da ih deinstalirate samo jednu po jednu. Zašto je to? Što vas sprečava u deinstaliranju više programa istovremeno?
Današnja sesija pitanja i odgovora dolazi nam ljubaznošću SuperUser-a, podjele Stack Exchangea, grupiranja web-lokacija za pitanja i odgovore u zajednici.
Pitanje
Čitač superkorisnika Jeroen Bollen želi znati zašto osoba ne može istovremeno deinstalirati više programa u sustavu Windows:
Zašto vas sustav Windows ne deinstalira ili istovremeno uklanja više programa? Što je razlog tome? Hoće li upropastiti unutarnji sustav?
Ne želim istovremeno deinstalirati više programa, jednostavno tražim razlog (i) zašto to ne bi bila mogućnost.
Što je to što sprečava ljude da istovremeno deinstaliraju više programa u sustavu Windows?
Odgovor
SuperUser suradnici ultrasawblade i techie007 imaju odgovor za nas. Prvo gore, ultrazvučni nož:
Ako pročitate nešto o tome kako radi Windows instalacijski sustav, očito je da su neke ideje primijenili iz transakcijskih baza podataka na instalaciju i održavanje programa, a da ne spominjemo .MSI same datoteke su baza podataka.
Tu je uvijek pitanje u dizajniranju bilo koje baze podataka - želite brzinu ili točnost / sigurnost? S obzirom na to da instalateri mogu modificirati konfiguraciju sustava i da bi neuspjeh mogao učiniti sustav neupotrebljivim, sigurnost je dobila prioritet u odnosu na brzinu.
Jedan od razloga zašto .MSI instalateri su tako spori jer se datoteke za vraćanje kreiraju za svaku datoteku, itd. koje će se mijenjati, a zatim izbrisati, dopuštajući da se bilo kakve promjene "vrate" ako nešto pođe po zlu (kao što je nestanak struje ili pad sustava).
Vjerujem da sam MSI motor nameće, mijenja ili uklanja samo jedan program. Ako pokušate pokrenuti .MSI datoteka dok se drugi deinstalira, na primjer, neće se pokrenuti, ili će čekati da se završi trenutačno deinstalacijski postupak. Instalateri koji nisu MSI možda se neće tako ponašati jer ne koriste MSI motor. Ali zbog ove sigurnosne odluke o dizajnu, to je vjerojatno razlog zašto appwiz.cpl inzistira na tome da se dopusti pozivanje samo jednog deinstalatora odjednom.
CCleaner vam omogućuje da pokrenete deinstalacije bez čekanja na završetak prethodno pokrenutih, ali MSI instalateri vjerojatno neće raditi paralelno zbog gore navedenog.
Slijedi odgovor od techie007:
To se stvarno odnosi samo na programe koji koriste sustav Windows Installer.
Ako program koristi vlastite (ne) instalacijske sustave, onda vas ništa ne sprječava da istovremeno pokrenete drugi uninstaller.
Windows Installer ograničava broj primjeraka kako bi se izbjegli sukobi s više programa dok se mijenjaju postavke i datoteke na razini cijelog sustava (često zajednički)..
Većina deinstalatora prati što se mijenja kako bi se uspješno vratili ako dođe do neuspjeha. Ako netko nije svjestan svih izmjena (od drugih deinstalatora), onda može stvari učiniti RADNE ako pokuša vratiti neuspjelu instalaciju.
Sustav Windows Installer stvoren je s namjerom da bude jedinstven sustav za sve razvojne programere aplikacija (u sustavu Windows) kako bi se izbjegli problemi poput ovih.
Imate li što dodati objašnjenju? Zvuk isključen u komentarima. Želite li pročitati više odgovora od drugih tehničkih korisnika Stack Exchangea? Pogledajte cjelokupnu temu za raspravu ovdje.