Почему рекомендуется закрыть все программы перед установкой новой программы?


9

Какие проблемы возникают при установке новой программы во время работы других программ? Я полагаю, что GAC решил много старых проблем блокировки общих библиотек DLL. Так какие же проблемы все еще возникают? Конечно, я вижу проблемы с обновлением одной программы, но вне этого трудно понять, почему приложения будут давить друг другу на ноги.


Это необходимо только для поврежденных операционных систем. В более совершенных системах вы можете устанавливать исполняемые файлы или библиотеки, пока старые версии еще работают или в случае наличия сетевых подключений sshd.
ott--

Ответы:


14

GAC помогает только в сборках .NET. Там много других приложений, которые не написаны на .NET.

Какие еще проблемы существуют?

  • Другие приложения с открытыми файлами
  • Другие приложения с открытыми сетевыми подключениями
  • Другие приложения, удерживающие устройства открытыми
  • Другие приложения замедляют работу машины, так что может произойти неожиданный тайм-аут где-то, прерывая работу
  • Другие приложения, изменяющие файлы и настройки в системе, могут ожидать, что установщик останется неизменным во время процесса (считайте это транзакционной целостностью)

Зачем рисковать сбоем процесса установки, когда так легко остановить другие приложения и просто подождать несколько минут? Иди выпей чашечку кофе. :)


10
+1 Что? Есть программирование вне .NET? Что это, 2010?
P.Brian.Mackey

3
Каким образом так легко остановить все другие приложения, а затем снова открыть их с той же конфигурацией, чтобы я мог продолжить работу с того места, где остановился? Или кто-то из участников ожидает, что разработчики будут работать над короткими независимыми задачами, которые будут прерываемыми?
Дэвид Торнли

2
@ Дэвид Торнли: Вы не устанавливаете вещи каждый час, не так ли? Я, например, однажды установил нужные мне инструменты, сделал образ, и у меня не было крупных установок с месяцами.

1
@Brian: Исправление, 2011 ;-)
Джорис Мейс

2
@Developer Art: Не каждый час, но иногда я хочу получить конкретный инструмент для того, над чем я работаю, и иногда один из моих существующих инструментов решает обновить его с помощью установщика. Кроме того, меня раздражает, когда я не могу делать вещи в MS Windows, которые я обычно делал бы в Linux или Mac OSX.
Дэвид Торнли

9

Вы не можете перезаписать DLL или EXE-файл, который используется другим приложением. В более качественных письменных подсказках говорится: «Посмотрите, либо закройте материал, использующий то, что я хочу обновить (и выдает список), либо продолжите установку, и нам придется перезагрузиться после того, как заменить DLL / EXE». Ленивые просто слепо советуют вам закрыть все, что у вас есть, на всякий случай.

Я ненавижу перезагрузку. Я ненавижу закрывать вещи, которые я использую. Иногда я просто продолжаю катиться и не закрываю ничего, что работает. Я немного догадываюсь, могут ли вещи совместно использовать DLL, поэтому, например, если я обновляю Word, я согласен закрыть Outlook, но не Foxit Reader, я знаю, что они, вероятно, независимы. Я уделяю больше внимания не ленивым подсказкам (которые говорят мне, что включает в себя конфликт), чем ленивым, которые могут также сказать «может содержать арахис» для всех мыслей, которые у них возникли.


6
+1 за "может содержать арахис". Также для подсказок, которые перечисляют конфликты.
Крейг,

5

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


1

Часто это сообщение просто вставляется как текст по умолчанию для используемой системы установки. 9 из 10 раз это можно игнорировать. Это всего лишь 10-й раз, когда вам нужно беспокоиться о :-) ИМХО, в дополнение к техническим причинам, которые DevArt кратко изложил, он, вероятно, изначально был добавлен туда, чтобы конечные пользователи не стали кричать поставщикам о потерянной работе, если установщик вылетает из-за Windows и приводит к тому, что они теряют важные электронные таблицы и документы, над которыми работали, - это не слишком редкое явление в тот день при установке программного обеспечения.


0

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

Но давайте предположим, что при установке какого-либо программного обеспечения необходимо внести изменения в файл, который, скорее всего, уже будет открыт другим приложением. У вас есть два варианта здесь:

  1. проверить, открыт ли файл / заблокирован, выяснить, какой процесс удерживает блокировку, отобразить приятный диалог с просьбой закрыть это конкретное приложение
  2. просто попросите человека закрыть все приложения, и вы на безопасной стороне без лишних усилий

К сожалению, второй вариант выбирается в большинстве случаев.


0

это хеджирование. Я никогда не беспокоился, и у меня не было проблем. единственное исключение - установка плагина, когда целевое приложение (IE, FireFox, Visual Studio и т. д.) еще открыто

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.