Каковы различия между установщиками MSI и EXE, и какие из них выбрать?

Возможный дубликат:
Каковы конкретные различия между .msi и файлом setup.exe?

Я работаю над установщиком для новой версии моего проекта (С#).

Раньше я использовал Inno Setup для создания файлов .exe для установки моих проектов на других компьютерах на рабочем месте. Хотя при чтении некоторых руководств я столкнулся с Windows Installer XML, который использует файлы XML для сборки установщика .msi.

Мой проект будет доступен на сетевом ресурсе, доступ к которому у всех сотрудников будет иметь доступ, чтобы они могли установить программное обеспечение (в настоящее время я также работаю над средством проверки обновлений)

Каковы основные различия между установщиками .exe и .msi? Почему я хотел бы выбрать один за другим? Будет ли иметь смысл в моей конкретной среде?

Я нашел некоторую информацию по этому вопросу, но информации было мало.

Ответ 1

Я бы не использовал WiX для нового проекта. Я бы использовал "Проект установщика" в Visual Studio для создания MSI. Проект установщика гораздо проще компоновать.

Многие exe-инсталляторы на самом деле являются заглушками или контейнерами, в которых есть MSI, btw.

Я думаю, вы проверили http://en.wikipedia.org/wiki/Windows_Installer?

MSI дает администраторам возможность ограничить установку, переустанавливать установки, изменять или добавлять настраиваемые действия, автоматизировать установки/переустановки/удаления, стандартное ведение журнала и коммутаторы. Он действительно интегрируется в корпоративную ИТ-среду (http://technet.microsoft.com/en-us/library/bb742606.aspx).

Пользовательский установщик может иметь многие из этих функций, но это зависит от пакета установщика.

Ответ 2

Большинство установщиков EXE, доступных сегодня, - это просто заглушки, чтобы убедиться, что на целевой машине имеется достаточно поддержки для запуска MSI, хранящегося в EXE. Они выполняют базовую проверку версий Windows и проверку версии Windows Installer, а затем, по существу, вызывают msiexec и позволяют Windows Installer обрабатывать остальные.

Для очень простой установки проект установщика в Visual Studio может получить вас, но для любой реальной настройки или настройки вам понадобится настоящий редактор MSI. Мы используем WiX и любим его - но это медведь, чтобы учиться. Если у вас есть деньги, вы можете инвестировать в InstallShield, но у него есть собственный набор причуд.

Ответ 3

MSI настраивается, а EXE - нет. Я знаю, что это не отвечает на ваш вопрос напрямую, но я думал, что должен указать на технологию ClickOnce.

MSDN: См. пример здесь.

Проще говоря, приложение ClickOnce любая презентация Windows Фонд, Windows Forms или консоль приложение, опубликованное с использованием ClickOnce технологии. Вы можете опубликовать Приложение ClickOnce в трех разными способами: с веб-страницы, от общий сетевой файл или с носителя таких как CD-ROM. ClickOnce приложение может быть установлено на конце пользовательский компьютер и запускается локально когда компьютер находится в автономном режиме, или он может быть запущен в режиме онлайн без постоянной установки что-либо на компьютере конечного пользователя. Дополнительные сведения см. В разделе Выбор Стратегия развертывания ClickOnce.

Ответ 4

IndigoRose MSI factory чрезвычайно эффективен и намного дешевле, чем InstallShield.

Он использует WiX внутри и позволяет вам изменять файлы XML любым способом. Бутстраппер (.exe, если вы его добавите) имеет мощный скриптовый движок, основанный на Lua, чтобы сделать... ну что угодно.