Да предположим, че имате малка орда от програми, които искате да деинсталирате във вашата Windows система, но Windows ще ви позволи да ги деинсталирате само една по една. Защо така? Какво ви пречи да деинсталирате няколко програми едновременно?



Днешната сесия на въпроси и отговори идва при нас с любезното съдействие на SuperUser – подразделение на Stack Exchange, управлявана от общността група от уеб сайтове за въпроси и отговори.

Въпроса

Четецът на SuperUser Jeroen Bollen иска да знае защо човек не може да деинсталира едновременно няколко програми в Windows:

Защо Windows ви пречи да деинсталирате или премахвате няколко програми едновременно? Каква е причината за това? Ще обърка ли вътрешната система?

Не искам да деинсталирам няколко програми едновременно, просто търся причината(ите), поради която това не би било опция.

Какво е това, което спира хората да деинсталират няколко програми едновременно в Windows?

Отговорът

Сътрудниците на SuperUser ultrasawblade и techie007 имат отговора за нас. Първо, ултрарезонанс:

Ако прочетете нещо за това как работи инсталационната система на Windows, очевидно е, че са приложили някои идеи от транзакционни бази данни за инсталиране и поддръжка на програми, да не говорим, че .msi самите файлове са база данни.

Винаги възниква въпросът при проектирането на всяка база данни – искате ли скорост или точност/безопасност? Като се има предвид, че инсталаторите могат да променят конфигурацията на системата и че злополука може да направи системата неработоспособна, безопасността е с приоритет пред скоростта.

Една от причините защо .msi инсталаторите са толкова бавни, защото файловете за връщане се правят за всеки файл и т.н., които ще бъдат променени, след това изтрити след това, позволявайки на всички промени да бъдат връщани назад, ако нещо се обърка по средата на нещата (като прекъсване на захранването или срив на системата ).

Сега вярвам, че самият двигател на MSI налага инсталирането, модифицирането или премахването само на една програма в даден момент. Ако се опитате да стартирате an .msi файл, докато друг се деинсталира например, той или няма да се стартира, или ще изчака да приключи текущият процес на деинсталиране. Инсталаторите, които не са MSI, може да не се държат по този начин, тъй като не използват MSI двигателя. Но поради това решение за безопасност, вероятно това е причината appwiz.cpl настоява да позволи да се извика само една програма за деинсталиране наведнъж.

CCleaner ви позволява да стартирате деинсталаторите, без да чакате да завършат вече стартираните, но инсталаторите на MSI вероятно все още няма да работят паралелно поради горното.

Следва отговора от techie007:

Това наистина важи само за програми, които използват Windows Installer система .

Ако дадена програма използва свои собствени (де)инсталационни системи, тогава нищо не ви пречи да стартирате друга програма за деинсталиране по същото време.

Инсталаторът на Windows ограничава броя на екземпляри, за да избегне възникването на конфликти от множество програми, докато те променят настройките и файловете в цялата система (често споделени).

Повечето деинсталиращи програми проследяват какво променят, за да могат успешно да се върнат назад, ако има неизправност. Ако човек не е наясно с всички промени, които се правят (от други деинсталиращи програми), тогава това всъщност може да влоши нещата, ако се опита да върне обратно неуспешна инсталация.

Системата Windows Installer е създадена с намерението да бъде унифицирана система, която всички разработчици на приложения да използват (в Windows), за да се избегнат проблеми като тези.


Имате ли какво да добавите към обяснението? Изключен звук в коментарите. Искате ли да прочетете повече отговори от други технически разбиращи потребители на Stack Exchange? Вижте цялата дискусионна тема тук .

ПРОЧЕТЕТЕ СЛЕДВАЩО
  • Кибер понеделник 2021: Най-добрите технологични сделки
  • › Функции срещу формули в Microsoft Excel: Каква е разликата?
  • › 5 уебсайта, които всеки потребител на Linux трябва да направи отметка
  • › Как да намерите своя Spotify Wrapped 2021
  • › Компютърната папка е 40: Как Xerox Star създаде работния плот
  • › Какво представлява MIL-SPEC защита от изпускане?