Dlaczego zaleca się zamknięcie wszystkich programów przed zainstalowaniem nowego programu?

9

Jakie problemy wynikają z instalacji nowego programu podczas działania innych programów? Wyobrażam sobie, że GAC rozwiązał wiele starych problemów związanych z blokowaniem wspólnej biblioteki dll. Jakie problemy wciąż się pojawiają? Z pewnością widzę problemy z aktualizacją jednego programu, ale poza tym trudno jest zrozumieć, dlaczego aplikacje uderzałyby sobie nawzajem w palce.

P.Brian.Mackey
źródło
Jest to potrzebne tylko w przypadku uszkodzonych systemów operacyjnych. Dzięki lepszym systemom możesz instalować pliki binarne lub biblioteki, gdy stare wersje są nadal uruchomione lub w przypadku połączeń sieciowych sshd.
ott--

Odpowiedzi:

14

GAC pomaga tylko w złożeniach .NET. Istnieje wiele innych aplikacji, które nie są napisane w .NET.

Jakie jeszcze problemy istnieją?

  • Inne aplikacje przechowujące pliki otwarte
  • Inne aplikacje utrzymujące otwarte połączenia sieciowe
  • Inne aplikacje trzymają otwarte urządzenia
  • Inne aplikacje spowalniają maszynę, co może spowodować nieoczekiwane przekroczenie limitu czasu i przerwanie pracy
  • Inne aplikacje modyfikujące pliki i ustawienia w systemie, których instalator spodziewałby się pozostać niezmieniony podczas procesu (rozważ integralność transakcyjną)

Po co ryzykować niepowodzenie procesu instalacji, skoro tak łatwo jest zatrzymać inne aplikacje i poczekać kilka minut? W międzyczasie idź napić się kawy. :)


źródło
10
+1 Co? Czy programowanie odbywa się poza .NET? Co to jest, 2010?
P.Brian.Mackey,
3
W jaki sposób tak łatwo jest zatrzymać wszystkie inne aplikacje, a następnie otworzyć je ponownie przy tej samej konfiguracji, aby móc kontynuować pracę tam, gdzie ją przerwałam? Czy ktoś zaangażowany oczekuje, że programiści będą pracować nad niezależnymi krótkimi zadaniami, które są całkowicie przerywane?
David Thornley,
2
@David Thornley: Nie instalujesz rzeczy co godzinę? Na przykład zainstalowałem potrzebne mi narzędzia, zrobiłem obraz i od miesięcy nie miałem większych instalacji.
1
@Brian: Correction, 2011 ;-)
Joris Meys,
2
@Developer Art: Nie co godzinę, ale czasami chcę uzyskać konkretne narzędzie do tego, nad czym pracuję, a czasami jedno z moich istniejących narzędzi decyduje o tym, że chce je zaktualizować za pomocą instalatora. Poza tym denerwuję się, gdy nie mogę robić na MS Windows rzeczy, które normalnie robiłbym na Linuxie lub Mac OSX.
David Thornley,
9

Nie można zastąpić biblioteki DLL lub EXE używanej przez inną aplikację. Lepiej napisane monity mówią: „spójrz, albo zamknij rzeczy, które używają rzeczy, które chcę zaktualizować (i daje listę), lub kontynuuj instalację, a następnie będziemy musieli ponownie uruchomić komputer w celu zastąpienia DLL / EXE”. Leniwi po prostu na ślepo każą ci zamknąć każdą rzecz, którą masz, na wszelki wypadek.

Nienawidzę restartu. Nienawidzę zamykać rzeczy, których używam. Czasami po prostu kontynuuję i nie zamykam niczego, co działa. Zgaduję, czy coś może współdzielić bibliotekę DLL, więc na przykład jeśli aktualizuję program Word, zgodzę się zamknąć program Outlook, ale nie program Foxit Reader, wiem, że prawdopodobnie są one niezależne. Zwracam większą uwagę na nie leniwe podpowiedzi (które mówią mi, na czym polega konflikt) niż na leniwe, które równie dobrze mogą powiedzieć „mogą zawierać orzeszki ziemne” dla wszystkich myśli, które się w nich pojawią.

Kate Gregory
źródło
6
+1 dla „może zawierać orzeszki ziemne”. Również w przypadku monitów zawierających listę konfliktów.
Craige,
5

może instalator jest po prostu zbyt paranoiczny? Szczerze mówiąc, nigdy nie zamykałem wszystkich programów, gdy instalator poprosił mnie o to i nigdy nie miałem kłopotów. Może to po prostu szczęście.

stijn
źródło
1

Wiele razy ten komunikat jest wstawiany jako domyślny tekst dla używanego systemu instalacyjnego. 9 na 10 razy można to zignorować. Tyle, że po raz 10 musisz się martwić :-) imo, oprócz powodów technicznych, które DevArt podsumował ładnie, prawdopodobnie zostały tam umieszczone pierwotnie, aby użytkownicy końcowi nie krzyczeli do dostawców o utraconej pracy, jeśli instalator spowoduje awarię systemu Windows i powoduje, że tracą ważne arkusze kalkulacyjne i dokumenty, nad którymi pracowano - niezbyt częste zdarzenie w ciągu dnia podczas instalowania oprogramowania.

Grandmaster B.
źródło
0

Możliwość konfliktu między instalowaną aplikacją a już uruchomioną jest bardzo mała. Obecnie większość aplikacji opiera się na koncepcji piaskownicy i nie trzeba z niej wychodzić podczas procesu instalacji (lub normalnego użytkowania).

Załóżmy jednak, że podczas instalowania oprogramowania należy wprowadzić zmiany w pliku, który najprawdopodobniej zostanie już otwarty przez inną aplikację. Masz tutaj dwie możliwości:

  1. sprawdź, czy plik jest otwarty / zablokowany, dowiedz się, który proces blokuje, wyświetl ładne okno dialogowe z prośbą o zamknięcie tej konkretnej aplikacji
  2. po prostu poproś osobę, aby zamknęła wszystkie aplikacje i jesteś po bezpiecznej stronie bez dodatkowego wysiłku

Niestety druga opcja jest najczęściej wybierana.

Jacek Prucia
źródło
0

zabezpiecza się. nigdy nie zawracam sobie głowy i nie miałem żadnych problemów. jedynym wyjątkiem jest instalacja wtyczki, gdy docelowa aplikacja (IE, FireFox, Visual Studio itp.) jest nadal otwarta

Steven A. Lowe
źródło