В какой-то момент такое случается со всеми - вы идете устанавливать новое приложение, а Windows говорит вам сначала перезагрузиться. Или перезагрузитесь после. Или он просит вас сначала закрыть все остальные приложения. Почему это так?
На сегодняшнем уроке для компьютерных фанатов мы объясним, почему Windows может вызывать такое раздражение из-за всей этой перезагрузки, и, надеюсь, дадим вам лучшее представление о том, почему все работает именно так.
Так почему же установщики раздражают?
Короткий ответ заключается в том, что большинство установщиков раздражают, потому что они либо плохо написаны, либо слишком глубоко интегрированы в Windows, чтобы иметь возможность копировать системные файлы и запускать все необходимое без перезагрузки.
Проблема усугубляется тем, что приложения Windows часто используют файлы DLL (библиотеки динамической компоновки), которые совместно используются более чем одним приложением. Это хорошая идея, но когда дело доходит до установки и удаления приложений, необходимость перезагрузки может раздражать. На самом деле печально то, что многие приложения в наши дни полностью автономны и не заменяют встроенные библиотеки DLL Windows, но их установщики по-прежнему заставляют вас перезагружаться.
Вот пара случаев, когда установщики могут раздражать:
- Если устанавливаемому вами приложению необходимо скопировать новые версии файлов, которые в настоящее время используются другим приложением, оно либо предложит вам закрыть все другие приложения, либо заставит вас перезагрузиться.
- Если в предыдущей установке или в Центре обновления Windows есть отложенные изменения, требующие перезагрузки, некоторые установки завершатся ошибкой и вас попросят сначала перезагрузиться.
- Если в устанавливаемом вами приложении есть подключаемый модуль для другого приложения, например, дополнение к контекстному меню проводника или подключаемый модуль браузера, вам будет предложено перезагрузить или закрыть другие приложения.
- Иногда плохо написанные установщики просят вас перезагрузиться, потому что они не запускают необходимые службы самостоятельно.
Давайте подробнее рассмотрим некоторые из этих случаев, чтобы вы могли полностью понять, что происходит.
Используемые файлы необходимо скопировать при перезагрузке
Если установщику приложения необходимо скопировать некоторые файлы, но они в настоящее время используются или являются системными файлами в случае Центра обновления Windows, он будет использовать функцию ожидания в Windows, которая позволяет установщику указать, что операция с файлом выполняется после перезагрузки, и до того, как все в Windows запустилось.
Установщик запишет ключ в следующее место реестра:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager
\ PendingFileRenameOperations
Если вы получили сообщение о том, что вам сначала нужно перезагрузиться, вы можете открыть этот ключ, и вы увидите все файлы, которые необходимо заменить при следующей перезагрузке.
Вы, вероятно, не захотите связываться с содержимым этого ключа, иначе все быстро станет странным. Есть очень редкие случаи, когда этот ключ не очищается даже после нескольких перезагрузок, и вам, возможно, придется стереть содержимое ключа, но вам, вероятно, следует избегать этого, если вы не очень уверены.
Установка уже выполняется
Некоторые установщики не запускаются, если идет текущая установка, поэтому они проверят следующий ключ, чтобы узнать, не происходит ли уже установка:
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \ InProgress
У меня нет скриншота для этого, но вы можете понять это по названию ключа.
Центр обновления Windows заставляет вас перезагружаться
Если вы получаете сообщение о том, что вы не можете установить приложение, пока не перезагрузите компьютер, это связано с тем, что Центр обновления Windows требует принудительной перезагрузки. Так, например, если вы получаете это сообщение об ошибке:
Это потому, что вы, вероятно, нажали «Отложить», когда увидели всплывающее окно:
Если вы войдете в реестр, вы увидите, что в этом месте реестра есть ключ RebootRequired:
HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows \
CurrentVersion \ WindowsUpdate \ Автообновление
С правой стороны есть множество значений GUID, и, хотя они не имеют отношения ни к чему в реестре, именно их присутствие вызывает это сообщение.
Технически вы, вероятно, могли бы экспортировать содержимое ключа, установить приложение, а затем вернуть их обратно, но это может что-то сломать, и перезагрузка не так уж больна, не правда ли?
Итак, теперь вы узнали немного больше о том, почему установщики приложений работают именно так. Что еще вы хотели бы узнать? Объясните свое разочарование в комментариях, и мы посмотрим, сможем ли мы пролить на них свет.