Установщик Windows действительно имеет репутацию медленного. Есть несколько вещей, которые способствуют этому, и я собираюсь рассмотреть их ниже. Но, в конечном счете, следует спросить себя, действительно ли одна, две или три минуты вызывают споры при установке и удалении программного обеспечения. Я занимаю больше времени, чем просмотр телеканалов :)
Реестр
Это виновник номер один. Установщик Windows интенсивно использует реестр для своих операций. По мере развития вашей системы, при установке и удалении приложений, а также при увеличении размера или фрагментации реестра MSI будет работать медленнее. Это же приложение будет устанавливаться и удаляться гораздо быстрее при первоначальной установке Windows, чем в зрелой системе. Решение здесь состоит в том, чтобы попытаться сохранить реестр чистым и дефрагментированным.
Для очистки реестра используйте один из множества доступных инструментов. Но для дефрагментации реестра я не могу рекомендовать достаточно NTREGOPT для внутренней оптимизации улья и PageDefrag для физической дефрагментации файлов.
Причина, по которой MSI может замедлить работу реестра, связана с тем, как MSI использует его. Установщик Windows использует реестр для отслеживания того, какие продукты установлены, какие компоненты и в каком месте он был установлен. Исходные идентификаторы GUID используются в сжатом формате. Информацию об установках для HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18
каждой машины можно найти по адресу , тогда как данные о пользователях находятся рядом с ней на HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\
ключе и под ключом с SID пользователя.
Оба эти ключа могут быть довольно большими и содержать многочисленные подразделы и значения. Они контролируют Продукты, Компоненты и Ключевые пути каждого установленного приложения. Вся эта информация должна быть прочитана и обработана для правильной процедуры удаления. Однако формат реестра перечисляет ключи в алфавитном порядке, что позволяет выполнять двоичный поиск. Но ценностей нет. Они сохраняются по мере их создания, поэтому необходимо выполнить процедуру линейного поиска. Что замедляет работу алгоритма.
В целом, MSI - это достаточно полный и точный метод установки и удаления программного обеспечения. Но он страдает от своей зависимости реестра. Система отличная. Это реестр Windows, который должен был быть капитально отремонтирован давно :)
Для получения более подробной информации:
для глубокого анализа того, что MSI делает во время каждой процедуры установки или удаления, обратитесь к этой статье, которая объясняет, как настроить MSI Debug. Или, для меньшей, но все же ценной информации, вот как активировать ведение журнала.