4Sep

Dlaczego instalacje aplikacji umożliwiają ponowne uruchamianie i zamykanie innych aplikacji?

Zdarzyło się każdemu w pewnym momencie - idziesz do zainstalowania nowej aplikacji, a system Windows prosi o ponowne uruchomienie komputera. Lub zrestartuj po. Lub prosi Cię o zamknięcie wszystkich innych aplikacji. Dlaczego to robi?

W dzisiejszej lekcji na temat maniaków wyjaśnimy dokładnie, dlaczego system Windows może być tak irytujący po ponownym uruchomieniu komputera, i mam nadzieję, że da to lepszą perspektywę, dlaczego rzeczy działają w ten sposób.

Dlaczego instalatorzy są denerwujący?

Krótka odpowiedź brzmi, że większość instalatorów jest denerwująca, ponieważ albo nie są napisani bardzo dobrze, albo zbyt głęboko integrują się z Windowsem, aby móc kopiować pliki systemowe i uruchamiać wszystko, co konieczne, bez ponownego uruchamiania komputera.

Problem jest złożony, ponieważ aplikacje systemu Windows często korzystają z plików DLL( biblioteki dynamicznej), które są współużytkowane przez więcej niż jedną aplikację.To niezły pomysł, ale jeśli chodzi o instalowanie i odinstalowywanie aplikacji, może być irytujące, że trzeba ponownie uruchomić komputer. Naprawdę smutną rzeczą jest to, że wiele aplikacji w dzisiejszych czasach jest całkowicie niezależnych i nie zastępuje wbudowanych bibliotek DLL systemu Windows, ale ich instalatory wciąż powodują ponowne uruchomienie.

Oto kilka przykładów, w których instalatory mogą być denerwujące:

  • Jeśli instalowana aplikacja musi skopiować nowe wersje plików, które są obecnie używane przez inną aplikację, wyświetli monit o zamknięcie wszystkich innych aplikacji lubzmusić do ponownego uruchomienia.
  • Jeśli istnieje poprzednia instalacja lub witryna Windows Update, która oczekuje zmian wymagających ponownego rozruchu, niektóre instalacje zakończą się niepowodzeniem i poprosi o ponowne uruchomienie komputera.
  • Jeśli instalowana aplikacja ma wtyczkę do innej aplikacji, np. Dodatek do menu kontekstowego Eksploratora lub wtyczkę do przeglądarki, wyświetli monit o ponowne uruchomienie lub zamknięcie innych aplikacji.
  • Czasami źle napisani instalatorzy proszą o ponowne uruchomienie, ponieważ nie uruchamiają wymaganych usług we własnym zakresie.

Przyjrzyjmy się bliżej niektórym z tych przypadków, aby w pełni zrozumieć, co się dzieje.

Pliki w użyciu muszą być kopiowane przy ponownym uruchomieniu

Jeśli instalator aplikacji musi skopiować niektóre pliki, ale są one aktualnie używane, lub są plikami systemowymi w przypadku Windows Update, będzie korzystać z funkcji Oczekiwanie w systemie Windows, która umożliwiainstalator, aby określić, że operacja na pliku ma miejsce po ponownym uruchomieniu i zanim wszystko w systemie Windows zostanie uruchomione.

Instalator napisze klucz do następującej lokalizacji w rejestrze:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Menedżer sesji
\ PendingFileRenameOperations

Jeśli pojawił się błąd informujący, że musisz najpierw ponownie uruchomić komputer, możesz otworzyć tokey, a zobaczysz wszystkie pliki, które należy zastąpić przy następnym uruchomieniu.

Prawdopodobnie nie chcesz zadzierać z zawartością tego klucza, bo inaczej rzeczy szybko staną się dziwne. Istnieje kilka bardzo rzadkich przypadków, w których klucz ten nie zostanie opróżniony nawet po wielu ponownych uruchomieniach i może być konieczne wyczyszczenie zawartości klucza, ale prawdopodobnie należy tego unikać, chyba że jest się tego pewnym. Instalacja

już w toku

Niektóre instalatory nie zostaną uruchomione, jeśli trwa bieżąca instalacja, więc sprawdzą następujący klucz, aby zobaczyć, czy jest już instalacja:

HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \InProgress

Nie mam zrzutu ekranu dla tego, ale możesz dostać pomysł z nazwy klucza.

Windows Update powoduje ponowne uruchomienie

Jeśli otrzymujesz komunikat informujący, że nie możesz zainstalować aplikacji, dopóki nie uruchomisz ponownie komputera, dzieje się tak z powodu Windows Update wymagającej wymuszonego restartu. Tak na przykład, jeśli otrzymujesz komunikat o błędzie:

To dlatego, że kliknąłeś: Odłóż, gdy zobaczyłeś to okno dialogowe:

Jeśli wejdziesz do rejestru, zobaczysz, że w tej lokalizacji jest klucz RebootRequired wrejestru:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \
CurrentVersion \ WindowsUpdate \ Auto Update

Po prawej stronie znajduje się cała masa wartości GUID, które nie odnoszą się do niczego w rejestrze, ależe tam są, to, co wyzwala tę wiadomość.

Technicznie mógłbyś wyeksportować zawartość klucza, zainstalować aplikację, a następnie ją odłożyć - ale może coś zepsuć, a ponowne uruchomienie nie jest tak bolesne?

Teraz dowiedziałeś się trochę więcej o tym, dlaczego instalatory aplikacji działają tak, jak robią to. Czy jest jeszcze coś, co chciałbyś wiedzieć?Wyjaśnij swoje frustracje w komentarzach, a zobaczymy, czy nie możemy rzucić trochę światła na nie.