U današnjoj lekciji ćemo objasniti upravo zašto Windows može biti toliko iritantan sa svim tim ponovno podizanjem sustava, i nadamo se da će vam dati bolju perspektivu zašto stvari rade na taj način.
Pa zašto su instalatori uznemirujući?
Kratki odgovor je da je većina instalatera neugodno jer nisu dobro napisana ili se previše duboko integriraju u Windows da bi mogli kopirati datoteke sustava i pokrenuti sve što je potrebno bez ponovnog pokretanja sustava.
Problem je složen jer Windows aplikacije često koriste DLL datoteke (dinamički poveznik) koje se dijele između više aplikacija. To je lijepa ideja, ali kada je u pitanju instaliranje i deinstaliranje aplikacija može biti iritantno da je potrebno ponovno podizanje sustava. Stvarno je tužna činjenica da su mnoge aplikacije ovih dana potpuno potpuno samostalne i ne mijenjaju ugrađene Windows DLL datoteke, ali njihovi instalacijski operateri i dalje vas ponovno podižu.
Evo nekoliko slučajeva u kojima instalatori mogu biti neugodno:
- Ako aplikaciju koju instalirate potrebno je kopirati nove verzije datoteka koje je trenutačno upotrebljavala druga aplikacija, zatražit će vam zatvaranje svih ostalih aplikacija ili će se ponovno pokrenuti.
- Ako postoji prethodna instalacija ili Windows Update s promjenama koje zahtijevaju ponovno pokretanje, neke instalacije neće uspjeti i od vas će zatražiti da ponovo pokrenete računalo.
- Ako aplikacija koju instalirate ima dodatak za neku drugu aplikaciju, kao dodatni kontekstni izbornik Explorer ili dodatak preglednika, od vas će zatražiti ponovno pokretanje ili zatvaranje drugih aplikacija.
- Ponekad loše napisani instalacijski korisnici od vas će zatražiti da se ponovno pokrenete jer oni sami ne pokreću potrebne usluge.
Pogledajmo neke od tih slučajeva pa možete u potpunosti razumjeti što se događa.
Datoteke u uporabi moraju se kopirati na ponovno podizanje sustava
Ako program za instalaciju aplikacije treba kopirati neke datoteke, ali se trenutačno upotrebljavaju ili su datoteke sustava u slučaju Windows Update, koristit će značajku Pending u sustavu Windows koja omogućuje instalateru da određuje da se operacija datoteke dogodi nakon ponovnog pokretanja, i prije svega što je pokrenut sustav Windows.
Instalater će napisati ključ na sljedećem mjestu u registru:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager PendingFileRenameOperations
Ako ste primili pogrešku u kojoj je rekli da morate ponovno pokrenuti sustav, možete otvoriti taj ključ i vidjet ćete sve datoteke koje treba zamijeniti na sljedećem ponovnom pokretanju.
Instalacija već u tijeku
Neki se instalacijski programi neće pokrenuti ako je u tijeku aktualna instalacija pa će provjeriti sljedeći ključ da biste vidjeli postoji li već instalacija:
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInstallerInProgress
Nemam snimku zaslona za ovaj, ali ideju možete dobiti od naziva ključa.
Windows Update vam omogućuje ponovno pokretanje
Ako primate poruku da ne možete instalirati aplikaciju dok ponovno ne pokrenete računalo, to je zbog ažuriranja sustava Windows koja zahtijeva prisilno ponovno podizanje sustava. Na primjer, ako primite ovu poruku o pogrešci:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows CurrentVersionWindowsUpdateAuto Update
S desne strane postoji čitava hrpa GUID vrijednosti, a dok se ne odnose na bilo što u registru, činjenica da su tu postoji ono što pokreće tu poruku.
Sada ste naučili još malo o tome zašto aplikacijski programeri rade na način na koji rade. Ima li još nešto što biste željeli znati? Objasnite svoje frustracije u komentarima, i vidjet ćemo hoćemo li im nešto rasvijetliti.