Domovská » jak » Proč nelze v systému Windows současně odinstalovat více programů?

    Proč nelze v systému Windows současně odinstalovat více programů?

    Předpokládejme, že máte malou hordou programů, které chcete odinstalovat ve vašem systému Windows, ale Windows vám umožní pouze jejich odinstalaci po jednom. Proč je to tak? Co vás brání v odinstalování více programů současně?

    Dnešní zasedání Otázky a odpovědi nás přichází s laskavým svolením SuperUser - podřízené rozdělení Stack Exchange, které je založeno na komunitě prostřednictvím skupin webových stránek.

    Otázka

    Čtecí zařízení SuperUser Jeroen Bollen chce vědět, proč není v systému Windows schopen odinstalovat více programů současně:

    Proč vás systém Windows zabraňuje odinstalování nebo odstranění více programů současně? Jaké jsou důvody za tím? Bude to narušovat vnitřní systém?

    Nechci odinstalovat více programů současně, prostě hledám důvody, proč by to nebyla volba.

    Co je to, že lidé přestanou odinstalovat více programů současně v systému Windows?

    Odpověď

    Superuserové přispěvatelé ultrasawblade a techie007 mají pro nás odpověď. První, ultrasawblade:

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

    Vždy existuje otázka při navrhování jakékoli databáze - chcete rychlost nebo přesnost / bezpečnost? Vzhledem k tomu, že instalatéři mohou změnit konfiguraci systému a že nehoda by mohla způsobit nefunkčnost systému, byla bezpečnost upřednostněna před rychlostí.

    Jeden z důvodů, proč .msi instalátoři jsou tak pomalí, protože soubory s rolovacími soubory jsou vytvářeny pro každý soubor atd., které budou upraveny a následně smazány, což dovolí případné změny "vrátit se", pokud se něco stane uprostřed věcí (například výpadek napájení nebo havárie systému).

    Nyní se domnívám, že samotný motor MSI vynucuje instalaci, úpravu nebo odstranění pouze jednoho programu najednou. Pokud se pokusíte spustit .msi soubor, zatímco jiný se odinstaluje například, nebude buď spuštěn, nebo bude čekat na dokončení probíhajícího odinstalačního procesu. Instalační programy jiných dodavatelů se nemusí chovat tímto způsobem, protože nepoužívají motor MSI. Ale kvůli tomuto rozhodnutí o návrhu bezpečnosti je to pravděpodobně důvod appwiz.cpl trvá na tom, aby bylo možné najednou povolit pouze jeden odinstalátor.

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

    Následuje odpověď od techie007:

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

    Pokud program používá vlastní (ne) instalační systémy, pak není nic, co vás zastaví spuštěním dalšího odinstalátoru najednou.

    Instalační služba Windows Installer omezuje počet instancí, aby nedocházelo k konfliktům způsobeným více programy, zatímco mění systémové (často sdílené) nastavení a soubory.

    Většina odinstalátorů sleduje, co mění, aby se mohli úspěšně vrátit, pokud dojde k selhání. Pokud si nejste vědomi všech provedených změn (od ostatních odinstalátorů), může to skutečně dělat věci WORSE, pokud se pokusí vrátit zpět neúspěšnou instalaci.

    Systém Windows Installer byl vytvořen s úmyslem být jednotným systémem pro všechny vývojáře aplikací, který je používá (v systému Windows), aby se zabránilo problémům, jako jsou tyto.


    Musíte něco přidat k vysvětlení? Vyjměte v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.