Улучшение производительности установки/удаления Wix msi

В Windows 7 (т.е. MSI 5.0), существует свойство под названием MSIFASTINSTALL, который улучшит производительность Вашего установщика. Или иначе, можно выключить опцию отката путем установки свойства DISABLEROLLBACK. Это свойство доступно в более ранней версии MSI 5.0 также.

Поделитесь своими знаниями для улучшения опыта установки. Кроме того, я не могу найти правильный способ улучшить производительность Удаления. Мы используем огромный набор файлов/папок (больше чем 70 000) и компоненты как 35 000. Это зависает в стоении файла, обрабатывают и не знают, как избежать этой задержки. Когда-то это зависает больше 2 или 3 часов для удаления в машинах Vista или XP

Править: Я сделал некоторый взлом в своей установке путем архивирования папок, который имеет огромные наборы файла и уменьшил размер компонентов как сказанный Christopher. Это улучшило производительность решительно. да, конечно, я потерял шаблон установщика MSI путем выполнения этого понятия, и этому не рекомендуют подход. Однако это - компромисс, когда мы хотим достигнуть, это и наш пользователь действительно не хотят иметь детали версии файла, когда мы удаляем/обновляем патчи.

5
задан sankar 23 July 2010 в 11:43
поделиться

2 ответа

У меня была похожая ситуация, но количество файлов было немного меньше, около 25k. Большинство этих файлов были значками, которые никогда не менялись от одного выпуска к другому. Только крупный выпуск (раз в 2 года) может внести некоторые изменения в эту область. «Быстрое и грязное» решение заключалось в том, чтобы заархивировать эти значки и включить этот единственный файл в установку (не компонент, а просто файл рядом с MSI). Во время установки этот ZIP-файл был извлечен в фоновом потоке, а таблица RemoveFile использовалась для удаления значков при удалении. Это было быстрее, чем устанавливать эти 20k значков как отдельные компоненты, даже как компоненты с большим количеством файлов. Хорошим и правильным решением было убедить основных разработчиков приложения поместить все эти 20 тысяч иконок в 20 zip-архивов. Теперь эти 20 zip-файлов установлены как обычные компоненты MSI, и приложение знает, как извлечь значок по запросу и кэшировать его.

Я бы не рекомендовал отключать откат.Хотя вы сэкономите некоторое время на установку, вы потеряете стандартный вариант гарантированного отката.

Удаление занимает больше времени, чем установка, из-за возможности повторного отката. Насколько я понимаю, когда вы удаляете, MSI сначала создает копию каждого файла, затем удаляет каждый файл и в случае успеха удаляет все резервные копии файлов. Следовательно, время удаления примерно в три раза больше, чем время установки. У меня возникла та же проблема, когда я выбрал вариант по умолчанию - по одному файлу на компонент. Хотя это рекомендуется, вам следует пойти на компромисс, если вы имеете дело с невыясненным случаем.

Надеюсь, это немного проясняет ситуацию.

4
ответ дан 14 December 2019 в 13:33
поделиться

Лучшим вариантом повышения производительности вашего приложения является уменьшение количества файлов и компонентов. Несмотря на то, что вы можете внести в свой MSI несколько настроек для повышения производительности, чрезмерное количество файлов / компонентов является основной проблемой и будет определяющим фактором для любых улучшений производительности, которые вы делаете. Зачем вам нужно устанавливать 70k файлов?

2
ответ дан 14 December 2019 в 13:33
поделиться
Другие вопросы по тегам:

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