Установщик .Net - Разница между .exe и .msi - PullRequest
10 голосов
/ 13 декабря 2010

Я развертываю свое приложение с помощью установщика, который я создаю с помощью проекта «Установка и развертывание» в Visual Studio.Когда я собираю проект установки, я получаю .exe и .msi файл.

Я хотел бы знать разницу между ними.

Я заметил, что .exe не может работать без.msi, но обратное не так.

Ответы [ 3 ]

10 голосов
/ 13 декабря 2010

exe-файл представляет собой bootstrapper , который устанавливает все необходимые предварительные условия и затем вызывает вашу настройку, которая является файлом MSI.

Вы можете запустить установку самостоятельно, запустив файл MSI, но произойдет сбой, если необходимые предварительные условия не установлены (возможные примеры: .Net Framework, распространяемый VC ++, более новая версия MSI и т. д.)

Сбой при попытке запустить установку с помощью загрузчика (EXE-файл), и ваш MSI отсутствует, потому что в основном он установит все необходимые компоненты, а затем попытается запустить ваш установщик (MSI-файл).Если этого файла нет, запускать его не с чего.

В зависимости от потребностей вашего приложения, аналогичным методом будет использование Объединение модулей для предварительных требований вашего приложения.Модуль слияния в основном загрузит все необходимые компоненты в ваш основной установщик, так что вы получите только один файл MSI, в котором есть все.Вы должны быть уверены, что у каждого компонента, который вы используете, есть модуль слияния, в противном случае вам придется использовать загрузчик.

1 голос
/ 13 декабря 2010

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

1 голос
/ 13 декабря 2010

Адриан прав. Это может добавить больше информации.

http://www.ghacks.net/2009/03/23/msi-or-exe-setup/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...