2009-05-18 2 views
7

Я знаю много программ, которые когда-то были установлены (или обновление для реестра), им нужно что-то обновить. Это можно сделать, убив и перезагрузив explorer.exe, однако большинство из них этого не делают и скорее попросят перезагрузить компьютер. Процесс, который занимает много времени.Почему программы не просто убивают и перезапускают explorer.exe?

В настоящее время я пишу инструмент, который будет использоваться только техническими людьми, и он внесет некоторые изменения в реестр, для которого требуется перезагрузка (или перезапуск explorer.exe), чтобы вступить в силу. Мне не нужно беспокоиться о том, что мои пользователи были в ужасе от explorer.exe, перезагружая их, поэтому это не проблема.

Что еще я должен рассмотреть перед этим? Почему другие приложения говорят вам перезагружаться, а не быстрее, перезапустить проводник? Есть ли причина безопасности? Или это просто привычка?

+0

Я не уверен, что тревога пользователей является проблемой. Кратковременное предупреждение должно действительно все это рассказать. Хороший вопрос, однако. Я подозреваю, что многие инсталляторы делают это «просто для того, чтобы быть в безопасности». – Noldorin

+0

И все те времена, когда установщик хочет перезагрузиться, какой процент вам нужно просто выйти из системы, а затем снова войти в систему? –

+0

, вероятно, большинство из них – Malfist

ответ

13

Killing и повторный запуск исследователь не собирается делать все, что перезапуск системы будет делать:

1) Любой в настоящее время приложение не получит обновилась.

2) Это также может привести к проблемам стабильности в системе. Я, в частности, заметил, что проблемы с моим графическим драйвером не обновляются правильно после отключения/перезапуска проводника.

3) Это просто запах;) Убийство процесса как части установки просто кажется неприятным.

+0

в инструменте, с изменением ключа реестра является ключ автозапуска , и только ключ автозапуска. Другие вещи должны быть выполнены. – Malfist

+0

Если это всего лишь ключ автозапуска, нет необходимости перезапускать проводник - просто запустите процесс самостоятельно. :) –

+0

Это так, когда мы делаем что-то с несколькими CD, мы можем убедиться, что автозапуск включен. Так я бы это сделал, он менее инвазивен для компьютера пользователей, но ...Я не босс – Malfist

3

Возможно, что были сделаны другие изменения, для которых требуется , а еще, чем перезагрузка explorer.exe. Также, как вы сказали, перезапуск explorer.exe может быть весьма тревожным для конечных пользователей.

+0

Но если программы обычно делали это после установки, это перестало бы тревожить их. Хотя я верю, что у меня был один инсталлятор, и я испугался. Но потом я переключился на Linux, и тогда могут произойти всевозможные странные вещи;) – Malfist

+0

Это перестало бы тревожить их так же, как перезагрузка после установки больше никого не тревожит. Он пошел от тревожного до раздражающего ... – Shog9

6

Я видел проблемы с значками в области уведомлений, которые не отображаются после перезапуска проводника (обычно после того, как он перестает отвечать, и я должен его убить).

В зависимости от значка уведомления это может вызвать проблемы с пользователем.

0

Перезагрузочный проводник имеет несчастливый побочный эффект, сокращая текущую среду пользователя. Такие вещи, как кнопки панели задач, ожидающие операции и т. П., Будут потеряны, если вы просто убьете explorer.exe.

+0

Ухаживать за этим? – Malfist

+0

Они не будут потеряны. Их невидимое свойство будет установлено в true до тех пор, пока вы не запустите explorer.exe снова. –

+0

право, которое будет меньше секунды после того, как исследователь будет убит. – Malfist

0

Почему бы не позволить пользователю выбрать, перезагружать или перезапускать проводник.

Помните, что средний пользователь не будет знать, что это означает или подразумевает, поэтому убедитесь, что ваши пользователи действительно «достаточно техничны».

+0

Это внутренний инструмент, так что это не проблема. – Malfist

3

Проводник может иметь несохраненное состояние (открывать окна, настройки вида папок и т. Д.), Которые теряются, если они внезапно перезапускаются). Я ненавижу, если установщик убьет мой explorer.exe, не спрашивая, и я не уверен, что я думаю, что это улучшение по сравнению с просто перезагрузкой.

В случае перезарядки файлов explorer.exe пользователи не могут обрабатывать библиотеки DLL, которые не используются в настоящее время, и программы не проверяются. там.

1

Всегда ли это проводник, который необходимо перезапустить?

У меня было приложение, которое установило счетчик монитора производительности, который должен был использоваться моим приложением и Perfmon (когда он был запущен), поэтому установка должна состоять только в том, чтобы убедиться, что приложение закрыто. Simples ... кроме драйвера (не помню, какой из них или я бы назвал n позором производителя), который загружал каждые perfmon object dll и оставил их заблокированными. В результате моему приложению потребовалась перезагрузка.

Теперь, если у вас есть инструмент, который может определить, какие процессы будут заблокированы, какие из ваших установленных файлов будут заблокированы, и предложите закрыть их, хотя пользователь должен решить, один из этих процессов может быть важным для Windows (например, служба рабочей станции или svchost) или важны для пользователя (например, Word со стоимостью несохраненной работы в день) (это, вероятно, плохой пример).

+0

Если честно, если у вас есть целый день работы в текстовом документе и он не сохранил его один раз, они заслуживают его потерять: D (несерьезно) – Malfist

1

Используйте параметр перезагрузки вместо обновления explorer.exe. Ожидается, что большинство программных установок в Windows используют перезагрузку, поэтому пользователи привыкли к перезагрузке при установке программного обеспечения, и это дает им возможность закрыть любые другие окна и сохранить данные. Во-вторых, как уже указывалось, перезагрузка explorer.exe заставляет ваш текущий экран без предупреждения и заставляет его выглядеть так, как будто что-то пошло не так, и вся их информация потеряна.

1

Существует множество вещей, которые можно сделать в реестре для установленных вещей, которые возникают при следующей перезагрузке; например, записи под ключом «RunOnce» запускаются, ну, один раз, при следующей загрузке. Существует множество приложений для установки, которые зависят от этого поведения; и поскольку Microsoft не осуждает функциональность или не находит подходящего обходного пути, люди продолжают писать программное обеспечение, которое ожидает эту функциональность и зависит от нее.

6

Перезагрузка Windows - очень хорошо протестированная операция. Выход из системы тоже. Вы можете ожидать, что все сторонние программы были протестированы с помощью перезагрузки, и почти все были протестированы с помощью выхода из системы. Войдите в систему.

Как вы думаете, сколько из этого теста протестировано через kill & respawn explorer.exe? Наверное, нигде не было рядом, и, конечно, нигде не было так близко.

Итак, если вы распространяете внутренне, в очень хорошо контролируемую среду, обязательно, продолжайте и убивайте & respawn explorer.exe. Но не делайте этого иначе, поскольку вы помещаете машину пользователя в очень плохо протестированное состояние, и все может загадочно ломаться до тех пор, пока он не перезагрузится.

+0

Согласен. Я думаю, что прямое убийство explorer.exe просто требует неприятностей. –

Смежные вопросы