V dnešnej geek lekcii budeme vysvetľovať presne, prečo Windows môže byť tak dráždivý pri všetkých týchto reštartovaní, a dúfajme, že vám lepší pohľad na to, prečo to funguje týmto spôsobom.
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, ktoré vyžadujú reštart, niektoré inštalácie zlyhajú a najprv vás požiadajú o reštartovanie.
- Ak aplikácia, ktorú inštalujete, má doplnok pre inú aplikáciu, napríklad kontextovú ponuku Explorer alebo doplnok prehliadača, zobrazí sa výzva na reštartovanie alebo zatvorenie ostatných aplikácií.
- Niekedy sa zle napísané inštalatérovia budú opýtať na reštartovanie, pretože nevykonávajú požadované služby samostatne.
Poďme sa bližšie pozrieť na niektoré z týchto príkladov, takže môžete plne pochopiť, čo sa deje.
Súbory používané pri reštarte musia byť skopírované
Ak inštalátor aplikácie potrebuje na kopírovanie niektorých súborov, ale momentálne sa používajú, alebo sú systémové súbory v prípade služby Windows Update, použije funkciu Pending v systéme Windows, ktorá inštalátorovi umožňuje určiť, ž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_MACHINESYSTEMCurrentControlSetControlSession 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.
Inštalácia už prebieha
Niektorí inštalatéri sa nespustia, ak prebieha aktuálna inštalácia, preto skontrolujú nasledujúci kľúč a uvidia, či sa už inštalácia už deje:
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInstallerInProgress
Nemám na tento obrázok obrazovku, ale túto myšlienku môžete získať z názvu kľúča.
Služba Windows Update vás reštartuje
Ak dostanete správu, že nemôžete nainštalovať aplikáciu až po reštartovaní počítača, je to kvôli Windows Update, ktorá vyžaduje nútený reštart. Takže, napríklad, ak sa zobrazuje toto chybové hlásenie:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows CurrentVersionWindowsUpdateAuto 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.
Teraz ste sa dozvedeli trochu viac o tom, prečo inłtalácia aplikácií funguje tak, ako 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ť.