Prečo inštaluje aplikácia a reštartuje a zatvára ďalšie aplikácie?
Stalo sa to všetkým v určitom okamihu - idete nainštalovať novú aplikáciu a systém Windows vám povie najprv reštart. Alebo reštartovať po. Alebo vás požiada, aby ste najprv zatvorili všetky ostatné aplikácie. Prečo to robí?
V dnešnej lekcii geek budeme vysvetľovať presne, prečo Windows môže byť tak dráždivý pri tomto reštarte, a dúfajme, že vám dá lepšiu perspektívu, prečo to funguje takto.
Takže prečo sú inštalatéri nepríjemní??
Stručná odpoveď je, že väčšina inštalatérov je nepríjemná, pretože buď nie sú napísané veľmi dobre, alebo sa integrujú príliš hlboko do systému Windows, aby mohli skopírovať systémové súbory a spustiť všetko potrebné bez reštartu.
Problém sa zhoršuje, pretože aplikácie systému Windows často používajú súbory DLL (knižnica dynamických odkazov), ktoré sú zdieľané medzi viacerými aplikáciami. Je to pekný nápad, ale pokiaľ ide o inštaláciu a odinštalovanie aplikácií, môže to byť dráždivé, že treba reštartovať. Naozaj smutné je, že mnohé aplikácie sú v týchto dňoch úplne samostatné a nenahradia zabudované Windows DLL, ale ich inštalatéri vás stále reštartujú.
Tu je niekoľko prípadov, keď inštalatéri môžu byť nepríjemní:
- Ak aplikácia, ktorú inštalujete, potrebuje skopírovať nové verzie súborov, ktoré práve používa iná aplikácia, buď vás vyzve, aby ste zatvorili všetky ostatné aplikácie, alebo vás reštartuje.
- Ak existuje predchádzajúca inštalácia alebo služba Windows Update, ktorá má čakajúce zmeny vyžadujúce reštart, niektoré inštalácie zlyhajú a požiadajú vás o reštartovanie.
- Ak aplikácia, ktorú inštalujete, má doplnok pre inú aplikáciu, napríklad pridaná kontextová ponuka Explorer alebo plugin pre prehliadač, zobrazí sa výzva na reštartovanie alebo zatvorenie ostatných aplikácií.
- Niekedy sa vám zle napísaní inštalatéri opýtajú na reštartovanie, pretože samy nezačnú požadované služby.
Poďme sa bližšie pozrieť na niektoré z týchto príkladov, takže môžete plne pochopiť, čo sa deje.
Súbory na použitie je potrebné kopírovať pri reštarte
Ak inštalátor aplikácie potrebuje na kopírovanie niektorých súborov, ale momentálne sa používajú, alebo sú systémovými súbormi v prípade služby Windows Update, použije funkciu Pending v systéme Windows, ktorá umožňuje inštalátorovi špecifikovať, že sa po reštarte vykoná operácia so súborom, a pred spustením všetkého v systéme Windows.
Inštalátor zapíše kľúč do nasledujúceho umiestnenia v registri:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager
\ PendingFileRenameOperations
Ak ste dostali chybu, ktorá tvrdí, že je potrebné reštartovať najskôr, môžete otvoriť tento kľúč a uvidíte všetky súbory, ktoré je potrebné vymeniť pri ďalšom reštarte.
Pravdepodobne nechcete pokaziť obsah tohto kľúča, inak sa veci rýchlo začnú stať divnými. Existujú niektoré veľmi zriedkavé prípady, kedy sa tento kľúč nevyprázdňuje ani po niekoľkých reštarte a možno budete musieť vyčistiť obsah kľúča - ale pravdepodobne by ste sa tomu mali vyhnúť, ak si nie ste istí.
Inštalácia už prebieha
Niektorí inštalatéri sa nespustia, ak prebieha aktuálna inštalácia, preto skontrolujú nasledujúci kľúč, aby zistili, či sa už inštalácia už deje:
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \ InProgress
Nemám pre tento obrázok snímku, ale túto myšlienku môžete získať z názvu kľúča.
Služba Windows Update reštartuje
Ak dostanete správu, že nemôžete nainštalovať aplikáciu až po reštartovaní počítača, je to kvôli požiadavke Windows Update vyžadujúceho nútený reštart. Napríklad, ak dostanete toto chybové hlásenie:
Je to preto, že ste pravdepodobne klikli na Odložiť, keď ste uvideli tento dialóg:
Ak smerujete do registra, uvidíte v registri kľúč rebootRequired na tomto mieste:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \
CurrentVersion \ WindowsUpdate \ Auto Update
Na pravej strane je celý rad hodnôt GUID a zatiaľ čo sa v registri nevzťahujú na nič, skutočnosť, že sú tam, je to, čo spúšťa túto správu.
Z technického hľadiska by ste pravdepodobne mohli vyexportovať obsah kľúča, nainštalovať aplikáciu a potom ho vrátiť späť, ale mohlo by to niečo prelomiť a reštartovanie nie je také bolestivé.?
Teraz ste sa dozvedeli trochu viac o tom, prečo aplikácie inštalatérov pracujú spôsobom, akým robia. Máte ešte niečo, čo by ste chceli vedieť? Vysvetlite svoje frustrácie v komentároch a uvidíme, či ich nemôžeme osvetliť.