2010-03-16 2 views
11

Можно создать дубликат:
What are the specific differences between .msi and setup.exe file?В чем разница между установщиками MSI и EXE, и какой из них выбрать?

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

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

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

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

Я нашел некоторую информацию at this question, но информации было не так много.

+0

см. Также http://stackoverflow.com/questions/902841/why-do-so-many-programs-have-both-a-setup-exe-and-a-setup-msi – rds

ответ

5

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

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

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

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

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

+1

Просто хотел, чтобы кто-нибудь которые видели этот ответ, знают, что он больше не точен для версии Visual Studio за 2010 год. Visual Studio 2012 больше не поддерживает проекты установки и развертывания. –

+0

Для Visual Studio 2013 и более поздних версий на рынке VS есть расширение, называемое «Microsoft Installer Designer Projects» (заменяющее 2013 версия), которое поддерживает старые проекты установщика. Тем не менее, у него есть ошибка, которая мешает ему устанавливать 64-битные приложения, а текст в мастере, который он производит, не имеет сглаживания, поэтому он выглядит устаревшим. –

5

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

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

3

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

MSDN: See example here.

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

+0

Интересно - я знал о ClickOnce, но я думал, что это всего лишь способ распространения программного обеспечения через Интернет. Мне нужно взглянуть на общий сетевой ресурс - спасибо! –

+0

К сожалению, у ClickOnce нет CustomActions. – ABCD

1

Завод IndigoRose MSI чрезвычайно мощный и намного дешевле, чем InstallShield.

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