Předpokládejme, že máte malou hordu programů, které chcete ze systému Windows odinstalovat, ale systém Windows vám umožní odinstalovat je pouze jeden po druhém. proč tomu tak je? Co vám brání v odinstalaci více programů současně?



Dnešní relaci Otázky a odpovědi k nám přichází s laskavým svolením SuperUser – pododdělení Stack Exchange, komunitní seskupení webových stránek pro otázky a odpovědi.

Otázka

Čtenář SuperUser Jeroen Bollen chce vědět, proč člověk nemůže ve Windows odinstalovat více programů současně:

Proč vám systém Windows brání v odinstalaci nebo odebrání více programů současně? Jaké je toto zdůvodnění? Naruší to vnitřní systém?

Nechci odinstalovat více programů současně, jen hledám důvod(y), proč by to nebylo možné.

Co lidem brání v odinstalování více programů současně v systému Windows?

Odpověď

Přispěvatelé SuperUser ultrasawblade a techie007 pro nás mají odpověď. Za prvé, ultrapilový kotouč:

Pokud čtete něco o tom, jak funguje instalační systém Windows, je zřejmé, že při instalaci a údržbě programu aplikovali některé nápady z transakčních databází, nemluvě o tom, že .msi samotné soubory jsou databází.

Při návrhu jakékoli databáze je vždy otázka – chcete rychlost nebo přesnost/bezpečnost? Vzhledem k tomu, že instalátoři mohou upravit konfiguraci systému a že nehoda by mohla způsobit nefunkčnost systému, má bezpečnost přednost před rychlostí.

Jeden z důvodů proč .msi instalátory jsou tak pomalé, protože pro každý soubor atd. se vytvářejí soubory vrácení, které budou upraveny a poté smazány, což umožňuje vrátit jakékoli změny zpět, pokud se uprostřed věcí něco pokazí (jako je výpadek napájení nebo selhání systému ).

Nyní se domnívám, že samotný engine MSI vynucuje instalaci, úpravu nebo odstranění pouze jednoho programu najednou. Pokud se pokusíte spustit .msi zatímco jiný například odinstalovává, buď se nespustí, nebo počká na dokončení aktuálně běžícího odinstalačního procesu. Instalační programy mimo MSI se nemusí takto chovat, protože nepoužívají engine MSI. Ale kvůli tomuto bezpečnostnímu rozhodnutí je to pravděpodobně důvod appwiz.cpl trvá na tom, aby byl najednou zavolán pouze jeden odinstalační program.

CCleaner vám umožňuje spustit odinstalační programy bez čekání na dokončení dříve spuštěných, ale instalátory MSI pravděpodobně stále nebudou fungovat paralelně kvůli výše uvedenému.

Následuje odpověď od techie007:

To se skutečně týká pouze programů, které používají Instalační systém Windows .

Pokud program používá vlastní (od)instalační systémy, pak vám nic nebrání spustit současně jiný odinstalátor.

Instalační služba Windows Installer omezuje počet instancí, aby se zabránilo konfliktům způsobeným více programy při změně nastavení a souborů v celém systému (často sdílených).

Většina odinstalátorů sleduje, co mění, aby se v případě selhání mohli úspěšně vrátit zpět. Pokud si člověk není vědom všech změn, které byly provedeny (jinými odinstalátory), může to ve skutečnosti situaci zhoršit, pokud se pokusí vrátit zpět neúspěšnou instalaci.

Systém Windows Installer byl vytvořen se záměrem být jednotným systémem pro všechny vývojáře aplikací, který mohou používat (ve Windows), aby se předešlo problémům, jako jsou tyto.


Chcete něco dodat k vysvětlení? Ozvi se v komentářích. Chcete si přečíst další odpovědi od ostatních technicky zdatných uživatelů Stack Exchange? Podívejte se na celé diskusní vlákno zde .

ČTĚTE DALŠÍ
  • Kybernetické pondělí 2021: Nejlepší technologické nabídky
  • › Funkce vs. vzorce v aplikaci Microsoft Excel: Jaký je rozdíl?
  • › 5 webových stránek, které by si měl každý uživatel Linuxu uložit do záložek
  • › Jak najít zabalené Spotify 2021
  • › Složka Počítač je 40: Jak Xerox Star vytvořil pracovní plochu
  • › Co je MIL-SPEC ochrana proti pádu?