При установке и удалении пакетов Windows Installer или файлов MSI, как их называют, прогресс установки появляется signifiantly медленнее, чем с другими пакетами установки.
Почему имеет место это, и что я могу сделать для ускорения вещей?
3
или 7
)Большая часть медленного сеанса инсталлятора Windows обусловлена его возможностями отката . Сначала он создает точку восстановления перед установкой или удалением (при условии, что восстановление системы не было отключено). Затем она создаст резервную копию всех затронутых файлов и ключей реестра во время деинсталляции и установки, чтобы гарантировать, что система может быть восстановлена в первоначальное состояние в случае возникновения ошибки. В более поздних версиях Windows Installer можно отключить некоторые из этих функций и ускорить установку. См. техническую информацию ниже.
Другой фактор скорости заключается в том, что все компоненты и функции MSI будут зарегистрированы в реестре . Это влечет за собой немалые накладные расходы , но необходимо для достижения важных преимуществ корпоративного развертывания и системного администрирования . Никакие другие технологии развертывания не имеют такого уровня контроля.
Большие MSI-файлы со встроенными исходными файлами могут потребовать много времени для распаковки своих инсталляционных файлов в папку temp. Иногда это может быть самым большим узким местом. Рекомендуется запустить установку администратора для извлечения исходных файлов из такого пакета так, чтобы они появлялись рядом с самим MSI-файлом, что устраняет необходимость извлекать файлы локально на каждой машине и, следовательно, экономит время на развертывание. Вот ещё одна статья, описывающая извлечение файлов из пакетов MSI в простых выражениях.
UPDATE (февраль 2018): Вы можете установить свойство под названием FASTOEM при особых обстоятельствах (см. связанное с ним содержимое), чтобы ускорить развертывание. Я никогда не пробовал этого, но это хорошо читается. Я сомневаюсь, что вам удастся эффективно его использовать, но, возможно, стоит попробовать.
Последнее на момент написания статьи обновление Windows Installer, Windows Installer 5 (доступно на Windows Server 2012, Windows 8, Windows Server 2008 R2 или Windows 7), имеет новое свойство MSIFASTINSTALL , которое можно использовать для ускорения установки большого MSI пакета. Действительные значения см. по ссылке выше. Я бы предложил 3 для нет точки восстановления , и только FileCosting (процесс определения требований к дисковому пространству). Или 7 для уменьшения частоты сообщений о прогрессе.
Нормальный "costing" имеет множество возможностей, компонент, дисковых и регистрационных сравнений и вычислений между тем, что существует в системе и тем, что устанавливается. Большая часть этого, на мой взгляд, редко бывает необходима (на клиентских компьютерах дискового пространства, как правило, много - а в реальности 2018 года с меньшим SD-диском, возможно, всплыл вопрос пространства.... ), но, очевидно, безопаснее позволить работать с полной стоимостью.
msiexec.exe /I "D:\winzip112.msi" /QN MSIFASTINSTALL=3
Также можно установить свойство DISABLEROLLBACK для отключения поддержки отката в MSI инсталляторе. Я бы настоятельно не советовал использовать это свойство, если только вы не устанавливаете новый ПК. Это особый случай, когда вы можете просто начать все сначала, если что-то пойдет не так. Для реально используемого компьютера я бы не рекомендовал включать это свойство.
Ирония заключается в том, что отключение отката ускорит процесс, если вы используете огромный пакет обновлений, который заменяет много файлов, или любую большую деинсталляцию (так как при деинсталляции все удаленные файлы будут перемещены в область отката). Это может быть довольно значительным, но небезопасным решением. Вы просто устанавливаете это свойство в командной строке: msiexec.exe /I "D:\winzip112.msi" /QN MSIFASTINSTALL=3 DISABLEROLLBACK=1
И наконец, как упоминалось выше в справочной информации, запустите административную установку MSI файла для извлечения файлов, чтобы извлечение не происходило локально на каждой машине. Это предполагает, что вы находитесь в довольно быстрой сети, и копирование файла происходит без слишком большой задержки. Я полагаю, что высоколатентная беспроводная сеть может замедлить работу с маленькими извлечёнными файлами, которые нужно копировать один за другим. Вы запускаете установку администратора, просто передавая /a в установочный файл:
setup.exe /a
или
msiexec /a "D:\winzip112.msi"
Затем вам нужно следовать подсказкам и выбрать место извлечения файлов. Смотрите superuser.com для обсуждения этой возможности.
Некоторые ссылки:
Скорость: