Główna » jak » Dlaczego instalacje aplikacji umożliwiają ponowne uruchamianie i zamykanie innych aplikacji?

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

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

    W dzisiejszej lekcji 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 więc 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 Windows, aby móc kopiować pliki systemowe i uruchamiać wszystko, co niezbędne, 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 tych dniach 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 lub spowoduje ponowne uruchomienie.
    • Jeśli jest 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 samodzielnie.

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

    Pliki w użyciu muszą zostać skopiowane przy ponownym uruchomieniu

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

    Instalator zapisze klucz w następującej lokalizacji w rejestrze:

    HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager
    \ PendingFileRenameOperations

    Jeśli pojawił się błąd informujący, że musisz najpierw ponownie uruchomić komputer, możesz otworzyć ten klucz, a zobaczysz wszystkie pliki, które należy wymienić 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 jesteś całkowicie pewien.

    Instalacja już w toku

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

    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 usługi Windows Update wymagającej wymuszonego restartu. Na przykład, jeśli otrzymujesz komunikat o błędzie:

    To dlatego, że prawdopodobnie kliknąłeś Postpone, gdy zobaczyłeś to okno dialogowe:

    Jeśli wejdziesz do rejestru, zobaczysz, że w rejestrze znajduje się klucz RebootRequired:

    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 fakt, że one tam są, uruchamia tę wiadomość.

    Technicznie możesz 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.