Установщик .Net - разница между ними.exe и.компания MSI

Я развертываю свое приложение с помощью установщика, который я создаю с помощью проекта установки и развертывания в visual studio. Когда я создаю проект установки, я получаю .exe и .MSI-файл.

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

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

3 ответов


Эдриан является правильным. Это может добавить дополнительную информацию.

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


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

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

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

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


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