Как я могу ускорить установку пакета MSI и удаление?

При установке и удалении пакетов Windows Installer или файлов MSI, как их называют, прогресс установки появляется signifiantly медленнее, чем с другими пакетами установки.

Почему имеет место это, и что я могу сделать для ускорения вещей?

14
задан 7 November 2014 в 16:41
1 ответ

Quick Summary

  • Need-for-speed properties to tweak:
    • MSIFASTINSTALL (попробуйте, может быть 3 или 7)
    • FASTOEM (подумайте, надо прочитать документацию)
    • DISABLEROLLBACK (поймите, что это значит, может привести к тому, что пользовательские действия в MSI пакете не запустятся! Это зависит от дизайна MSI - ищите commit- и rollback custom actions)
  • Security software может быть приостановлено для ускорения установки.
    • Попробуйте отключиться во время установки - просканируйте программу установки на virustotal.com.
  • Попробуйте запуститься с административного образа (альтернативная информация) (распаковка файла не требуется).
    • Запуск от локального административного образа был бы самым быстрым.
    • Сеть с высокой задержкой может замедлить установку, если вы используете образ сетевого администрирования?
      • Потенциально высокие накладные расходы на файл (небольшие файлы).
      • Загрузка одного CAB может быть быстрее (проверка на вирусы может занять много времени)?
  • Восстановление системы может быть отключено глобально на машине (не только через MSIFASTINSTALL).

Фоновая информация

Большая часть медленного сеанса инсталлятора 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

Administrative Installation

И наконец, как упоминалось выше в справочной информации, запустите административную установку MSI файла для извлечения файлов, чтобы извлечение не происходило локально на каждой машине. Это предполагает, что вы находитесь в довольно быстрой сети, и копирование файла происходит без слишком большой задержки. Я полагаю, что высоколатентная беспроводная сеть может замедлить работу с маленькими извлечёнными файлами, которые нужно копировать один за другим. Вы запускаете установку администратора, просто передавая /a в установочный файл:

setup.exe /a

или

msiexec /a "D:\winzip112.msi"

Затем вам нужно следовать подсказкам и выбрать место извлечения файлов. Смотрите superuser.com для обсуждения этой возможности.


Некоторые ссылки:

Скорость:

15
ответ дан 2 December 2019 в 21:09

Теги

Похожие вопросы