В съвременния урок по урока ще обясним точно защо Windows може да е толкова раздразнителен с цялото това рестартиране и да се надяваме, че ще ви дадем по-добра представа защо нещата работят по този начин.
Защо инсталаторите са досадни?
Краткият отговор е, че повечето инсталатори са досадни, защото или не са написани много добре, или се интегрират твърде дълбоко в Windows, за да могат да копират системни файлове и да стартират всичко необходимо без рестартиране.
Проблемът се усложнява, защото приложенията на Windows често използват DLL (библиотека за динамични връзки), които се споделят между повече от едно приложение. Това е хубава идея, но когато става въпрос за инсталиране и деинсталиране на приложения, може да е дразнещо да се наложи да рестартирате. Трудно е, че много приложения в наши дни са напълно самостоятелни и не заменят вградените Windows DLL, но техните инсталатори все още ви правят рестартиране.
Ето няколко случая, при които инсталаторите може да са досадни:
- Ако приложението, което инсталирате, трябва да копира нови версии на файлове, които понастоящем се използват от друго приложение, то ще ви подкани да затворите всички останали приложения или това ще ви накара да рестартирате.
- Ако има предишна инсталация или Windows Update, която има изчакване на промени, изискващи рестартиране, някои инсталации ще се провалят и първо ще ви помолят да рестартирате.
- Ако приложението, което инсталирате, има плъгин за друго приложение, като допълнение към контекстно меню на Explorer или приставка за браузър, той ще ви подкани да рестартирате или затворите другите приложения.
- Понякога силно написаните инсталатори ще ви помолят да рестартирате, тъй като те не стартират само по себе си необходимите услуги.
Нека да разгледаме по-отблизо някои от тези случаи, за да можете напълно да разберете какво се случва.
Файловете в употреба трябва да бъдат копирани при рестартиране
Ако инсталаторът на приложения трябва да копира някои файлове, но те се използват в момента или са системни файлове в случай на Windows Update, той ще използва функцията Чакаща в Windows, която позволява на инсталатора да определи, че операцията на файла се случва след рестартиране, и преди всичко в Windows да започне.
Инсталационната програма ще напише ключ в следното място в системния регистър:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager PendingFileRenameOperations
Ако сте получили грешка, че трябва първо да рестартирате, можете да отворите този клавиш и ще видите всички файлове, които трябва да бъдат заменени при следващото рестартиране.
Инсталацията вече е в процес на разработка
Някои инсталатори няма да стартират, ако текущата инсталация е в ход, затова ще проверят следния ключ, за да видят дали вече се случва инсталация:
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInstallerInProgress
Нямам екранна снимка за тази, но можете да получите идеята от името на ключа.
Windows Update ви рестартира
Ако получавате съобщение, че не можете да инсталирате приложение, докато не рестартирате компютъра, това се дължи на Windows Update, която изисква принудително рестартиране. Така например, ако получавате това съобщение за грешка:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows CurrentVersionWindowsUpdateAuto Update
На дясната страна има цял куп GUID стойности и докато те не се отнасят до нищо в регистъра, фактът, че те са там, е това, което предизвиква това съобщение.
Така че сега научихте малко повече за това, защо инсталаторите на приложения работят така, както правят. Имате ли нещо друго, което бихте искали да знаете? Обяснете си неудобствата в коментарите и ще видим дали не можем да хвърлим светлина върху тях.