В чем главное преимущество наличия установочного пакета MSI?

Я думал, что это будет где-то в Интернете, но я не мог Google это:

Учитывая сложность, связанную с созданием пакета MSI (по сравнению с NSIS, InnoSetup и т. Д.), Что было бы веской причиной для того, чтобы пройти через весь этот беспорядок (используя дрянного мастера установки MSVS, изучите совершенно новый язык / экосистему просто для создания установщик (WiX), или платите большие лицензионные сборы (InstallShield)) ради создания установщика MSI?

Было бы неплохо иметь реальные мнения или опыт (даже чтобы доказать, что MSI действительно ничего не стоит), кроме очевидной страницы MSDN, например:)

5 ответов

Решение

Я не думаю, что есть одно главное преимущество для всех ситуаций. Вот некоторые вещи, которые мне нравятся по сравнению с другими установщиками:

  • Логика установки и код содержится в базе данных, которая находится в доступном формате. Мне это очень нравится, когда я отлаживаю. Вместо того, чтобы перестраивать ваш установщик, вы можете напрямую отредактировать базу данных с помощью такого инструмента, как Orca (бесплатная загрузка для редактирования базы данных от MS), а затем снова запустить установку, чтобы проверить ваши изменения. Обновите свой пользовательский код, временно подготовьте что-нибудь, измените порядок операций, что вам нужно сделать.

  • Заплат. Служба установщика и соответствующие инструменты знают, как создавать исправления, содержащие дельты обновленных файлов, а не полные файлы. Это позволяет сохранить размеры обслуживания разумными.

  • Административные изображения. Установщик может создать административный образ. Если вы сгенерировали исправления, вы можете применить исправления к административному образу, и тогда новые установки можно будет запускать из административного образа, а не из исходного установщика. Как скользящие патчи в образах ОС. Если вы распространяете свое приложение на большое количество компьютеров, это здорово, что вам не нужно выдавать кучу исправлений после установки.

Другие интересные функции включают преобразования, запуск из источника, обнаружение и восстановление, совместное использование компонентов и так далее.

MSI (или ClickOnce) потребовалось для получения программы Windows Vista Logo (официальная сертификация Microsoft). Я считаю, что это требование было снято с Windows 7, но пройти сертификацию с MSI все еще проще (см. Здесь).

Вам не нужно покупать какой-либо дорогой пакет инсталлятора третьей стороны. Если вы собираетесь на MSI, я предлагаю вам использовать WIX и изучить его. Когда вы знакомы с ним, он работает довольно хорошо.

Еще одно хорошее чтение:

Установщик Windows: преимущества и реализация для системных администраторов

Я был разработчиком полной настройки в течение 14 лет. Мои первые 7 лет были проектами в стиле InstallScript Setup.exe, а мои последние 7 лет были основаны на MSI. Сначала я сопротивлялся MSI, а затем после 6 месяцев его использования я стал истинным сторонником того, насколько он лучше.

Я уверен, что есть предприятия, которым требуются форматы MSI для удаленной массовой установки приложений на тысячи машин. Однако я не имею дело с такими организациями, поэтому не знаю наверняка.

Другие вопросы по тегам