Установщик Visual Studio утверждает, что рекомендуется устанавливать каждый файл в качестве компонента установщика. Тепловая утилита, поставляемая с Wix, также, похоже, следует практике помещения каждого файла в отдельный компонент.
Мастер компонентов InstallShield использует передовые методы установки InstallShield, помещая переносимые исполняемые файлы в их собственный компонент, но группирует все другие файлы (например, неверсированные файлы) по общей папке назначения.
Преимущество первой практики (каждый файл в своем собственном компоненте) состоит в том, что каждый файл настроен как ключевой файл, что важно, если вы хотите, чтобы эти файлы вызывали исправления. Это также упрощает автоматизацию создания компонентов (например, нагрева), поскольку вы создаете компонент для каждого файла.
К недостаткам первого варианта относятся издержки, связанные с управлением таким количеством компонентов, и раздувание реестра после установки приложения.
Преимущество практики 2 можно увидеть в установке, которая устанавливает сотни графических файлов в один каталог. Если вам не нужны функции восстановления, есть ли причина создавать сотни компонентов для этой установки?
Эти две разные практики противоречат друг другу, и я хочу знать, какую из них на самом деле используют люди и почему.