If-Koubou

Zašto aplikacijske instalacije omogućuju ponovno pokretanje i zatvaranje drugih aplikacija?

Zašto aplikacijske instalacije omogućuju ponovno pokretanje i zatvaranje drugih aplikacija? (Kako da)

Dogodilo se se svatko u nekom trenutku - idete instalirati novu aplikaciju, a Windows vam kaže da se najprije ponovno podignete. Ili ponovno pokrenite nakon. Ili vas zatraži da najprije zatvoriš svaku drugu aplikaciju. Zašto to radi?

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_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session 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.

Vjerojatno ne želite nered sa sadržajem ovog ključa, inače će se stvari brzo početi postati čudne. Postoje neki vrlo rijetki slučajevi kada se taj ključ ne isprazni čak i nakon višestrukih ponovnih pokretanja, a možda ćete morati brisati sadržaj ključa - ali vjerojatno biste to trebali izbjegavati, osim ako niste sigurni.

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_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \ pogonu

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:

Zato što ste vjerojatno kliknuli "Odgodi" kada se ovaj skočni prozor vidio:

Ako krenete u registar, vidjet ćete da postoji ključ RebootRequired na ovoj lokaciji u registru:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \
CurrentVersion \ WindowsUpdate \ Auto 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.

Tehnički vjerojatno biste mogli izvesti sadržaj ključa, instalirati aplikaciju, a zatim ih vratiti - ali može nešto slomiti, a ponovno podizanje sustava nije tako bolno?

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.