Główna » jak » Dlaczego nie można odinstalować wielu programów jednocześnie w systemie Windows?

    Dlaczego nie można odinstalować wielu programów jednocześnie w systemie Windows?

    Załóżmy, że masz małą hordę programów, które chcesz odinstalować w systemie Windows, ale system Windows pozwoli Ci tylko odinstalować je pojedynczo. Dlaczego? Co powstrzymuje cię od odinstalowania wielu programów jednocześnie?

    Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.

    Pytanie

    Czytnik SuperUser Jeroen Bollen chce wiedzieć, dlaczego dana osoba nie jest w stanie odinstalować wielu programów jednocześnie w systemie Windows:

    Dlaczego system Windows uniemożliwia odinstalowywanie lub usuwanie wielu programów jednocześnie? Jaki jest tego powód? Czy to zepsuje system wewnętrzny?

    Nie chcę odinstalowywać wielu programów jednocześnie, po prostu szukam powodu (powodów), dlaczego nie byłaby to opcja.

    Co powstrzymuje ludzi przed odinstalowaniem wielu programów jednocześnie w systemie Windows?

    Odpowiedź

    SuperUser współpracownicy ultrasawblade i techie007 mają dla nas odpowiedź. Najpierw ultrasawblade:

    Jeśli czytasz cokolwiek o tym, jak działa system instalacyjny systemu Windows, oczywiste jest, że zastosował on pewne pomysły z transakcyjnych baz danych do instalacji programu i konserwacji, nie wspominając o tym, że .msi same pliki są bazą danych.

    Zawsze jest kwestia projektowania dowolnej bazy danych - czy chcesz szybkość, dokładność / bezpieczeństwo? Biorąc pod uwagę fakt, że instalatorzy mogą modyfikować konfigurację systemu i nieszczęśliwy wypadek może spowodować, że system przestanie działać, bezpieczeństwo ma priorytet nad szybkością.

    Jednym z powodów, dla których .msi instalatory są tak powolne, ponieważ pliki przywracania są tworzone dla każdego pliku, itp., które zostaną zmodyfikowane, a następnie usunięte, pozwalając, aby wszelkie zmiany zostały "wycofane", jeśli coś pójdzie nie tak w środku rzeczy (takich jak przerwa w zasilaniu lub Awaria systemu).

    Teraz uważam, że silnik MSI sam wymusza instalowanie, modyfikowanie lub usuwanie tylko jednego programu na raz. Jeśli spróbujesz uruchomić .msi plik, podczas gdy inny odinstalowuje, na przykład, albo nie będzie działać, albo będzie czekał na zakończenie aktualnie uruchomionego procesu dezinstalacji. Instalatorzy innych firm mogą nie zachowywać się w ten sposób, ponieważ nie używają silnika MSI. Ale z powodu tej decyzji dotyczącej bezpieczeństwa, to prawdopodobnie dlatego appwiz.cpl nalega na zezwolenie na jednorazowe wywołanie tylko jednego dezinstalatora.

    CCleaner pozwala uruchamiać dezinstalatory, nie czekając na zakończenie wcześniej uruchomionych, ale instalatory MSI prawdopodobnie nadal nie będą działały równolegle z powodu powyższych.

    Poniżej znajduje się odpowiedź od techie007:

    Dotyczy to wyłącznie programów korzystających z systemu Windows Installer.

    Jeśli program używa własnych (nie) systemów instalacyjnych, to nic nie powstrzyma cię od uruchomienia innego deinstalatora w tym samym czasie.

    Instalator Windows ogranicza liczbę instancji, aby uniknąć konfliktów przez wiele programów, podczas gdy zmieniają one systemowe (często współdzielone) ustawienia i pliki.

    Większość dezinstalatorów śledzi zmiany, które mogą się zmienić, aby można je było wycofać, jeśli wystąpi awaria. Jeśli nie jest się świadomym wszystkich wprowadzanych zmian (przez inne deinstalatory), może to faktycznie spowodować, że rzeczy będą WORSE, jeśli spróbuje przywrócić nieudaną instalację.

    System Instalatora Windows został stworzony z myślą o ujednoliceniu systemu, z którego mogą korzystać wszyscy twórcy aplikacji (w systemie Windows), aby uniknąć takich problemów.


    Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.