Це сталося з усіма в якийсь момент - ви йдете встановлювати нову програму, а Windows каже вам спочатку перезавантажитись. Або перезавантажити після. Або він просить вас спершу закрити будь-яку іншу програму. Чому це робить?
У сьогоднішньому уроці виродків ми точно пояснимо, чому Windows може так дратувати при всій цій перезавантаженні, і, сподіваємось, дамо вам кращу перспективу щодо того, чому все працює так.
То чому установники дратують?
Коротка відповідь полягає в тому, що більшість установників дратує, бо вони або не дуже добре написані, або вони занадто глибоко інтегруються в Windows, щоб мати можливість копіювати системні файли та запускати все необхідне без перезавантаження.
Проблема ускладнюється тим, що в програмах Windows часто використовуються файли DLL (бібліотека динамічних посилань), які спільно використовуються кількома програмами. Це приємна ідея, але коли мова заходить про встановлення та видалення програм, це може викликати роздратування від необхідності перезавантаження. Дійсно сумно, що сьогодні багато програм повністю автономні і не замінюють вбудовані бібліотеки DLL Windows, але їх установники все одно змушують вас перезавантажитися.
Ось кілька випадків, коли програми, які встановлюють програму, можуть дратувати:
- Якщо програмі, яку ви встановлюєте, потрібно скопіювати нові версії файлів, які наразі використовуються іншою програмою, вона запропонує вам закрити всі інші програми або змусить вас перезавантажитися.
- Якщо попередня установка або Центр оновлення Windows передбачали зміни, що вимагають перезавантаження, деякі установки не вдасться і попросять вас перезавантажитись спочатку.
- Якщо програма, яку ви встановлюєте, має плагін для іншої програми, наприклад, доповнення контекстного меню Explorer або плагін браузера, він запропонує перезавантажити або закрити інші програми.
- Іноді погано написані інсталятори попросять вас перезавантажитися, оскільки вони не запускають необхідні послуги самостійно.
Давайте детальніше розглянемо деякі з цих випадків, щоб ви могли повністю зрозуміти, що відбувається.
Файли, що використовуються, потрібно скопіювати під час перезавантаження
Якщо програмі встановлення програми потрібно скопіювати деякі файли, але вони зараз використовуються, або це системні файли у випадку з Windows Update, він буде використовувати функцію очікування в Windows, яка дозволяє установчику вказати, що операція з файлом відбувається після перезавантаження, і до того, як все в Windows запустилося.
Інсталятор запише ключ до такого розташування в реєстрі:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager
\ PendingFileRenameOperations
Якщо ви отримали повідомлення про те, що спочатку потрібно перезавантажитися, ви можете відкрити цей ключ, і ви побачите всі файли, які потрібно замінити під час наступної перезавантаження.
Можливо, ви не хочете возитися із вмістом цього ключа, інакше речі швидко почнуть ставати дивними. Є деякі дуже рідкісні випадки, коли цей ключ не спорожняється навіть після багаторазових перезавантажень, і, можливо, вам доведеться стерти вміст ключа, але, мабуть, слід уникати цього, якщо ви не впевнені в цьому.
Встановлення вже триває
Деякі інсталятори не запускаються, якщо триває поточна інсталяція, тому вони перевірять наступний ключ, щоб перевірити, чи вже відбувається інсталяція:
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \ InProgress
У мене немає знімка екрана для цього, але ви можете отримати ідею з назви ключа.
Windows Update змушує вас перезавантажитися
Якщо ви отримуєте повідомлення про те, що ви не можете встановити програму, поки не перезавантажите комп’ютер, це пов’язано з тим, що Windows Update вимагає примусової перезавантаження. Наприклад, якщо ви отримуєте таке повідомлення про помилку:
Це тому, що ви, напевно, натиснули кнопку Відкласти, коли побачили, що спливає це діалогове вікно:
Якщо ви зайдете до реєстру, ви побачите, що в цьому реєстрі є ключ RebootRequired:
HKEY_LOCAL_MACHINE \ ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ \ Microsoft \ Windows \
CurrentVersion \ WindowsUpdate \ Auto Update
Праворуч є ціла купа значень GUID, і хоча вони не стосуються нічого в реєстрі, той факт, що вони є, є тим, що викликає це повідомлення.
Технічно ви, можливо, могли б експортувати вміст ключа, встановити програму, а потім повернути їх назад - але це може щось зламати, і перезавантаження не так вже й боляче?
Отже, ви дізналися трохи більше про те, чому інсталятори програм працюють так, як вони. Чи є щось, що ви хотіли б знати? Поясніть свої розчарування у коментарях, і ми побачимо, чи не зможемо ми пролити на них світло.