Чому рекомендується закрити всі програми перед установкою нової програми?


9

Які проблеми виникають при встановленні нової програми під час роботи інших програм? Я думаю, що GAC вирішив багато старих проблем, коли заблокований dll заблокований. То які питання все ж виникають? Я точно бачу проблеми з оновленням однієї програми, але поза цим важко зрозуміти, чому додатки будуть тупати на пальці ніг інших людей.


Це потрібно лише для калік операційних систем. З кращими системами ви можете встановлювати бінарні файли або libs, поки старі версії все ще запущені або в разі наявності мережевих з'єднань sshd.
ott--

Відповіді:


14

GAC допомагає лише при складанні .NET. Є багато інших програм, які не написані в .NET.

Які ще проблеми існують?

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

Навіщо ризикувати збоєм у процесі встановлення, коли так легко зупинити інші програми та просто почекати кілька хвилин? Тим часом піди чашкою кави. :)


10
+1 Що? Програмування за межами .NET? Що це, 2010 рік?
P.Brian.Mackey

3
Яким чином так легко зупинити всі інші програми, а потім знову відкрити їх з тією ж конфігурацією, щоб я міг продовжувати працювати там, де зупинився? Або хтось із залучених очікує, що розробники працюватимуть у незалежних коротких завданнях, які ідеально перериваються?
Девід Торнлі

2
@David Thornley: Ви не встановлюєте речі щогодини? Я, наприклад, один раз встановив потрібні мені інструменти, зробив зображення і не мав великих установок з місяців.

1
@Brian: Correction, 2011 ;-)
Joris Meys

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-й раз, коли вам доведеться турбуватися про :-) imo, окрім технічних причин, які DevArt добре підсумував, він, ймовірно, був розміщений туди спочатку, щоб кінцеві користувачі не кричали постачальникам про втрату роботи, якщо інсталятор вибиває Windows та змушує їх втрачати важливі електронні таблиці та документи, над якими працювали - не надто рідкісна поява ще в той час, коли встановлювали програмне забезпечення.


0

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

Але припустимо, встановивши якесь програмне забезпечення, потрібно змінити файл, який, швидше за все, вже відкритий іншою програмою. Тут у вас є два варіанти:

  1. перевірте, чи файл відкритий / заблокований, з’ясуйте, який процес має блокування, покажіть приємне діалогове вікно із проханням закрити конкретну програму
  2. просто попросіть людину закрити всі додатки, і ви в безпечній стороні без зайвих зусиль

На жаль, більшу частину часу збирають другий варіант.


0

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.