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

Я много искал, но все догадываются ответы. Помогите мне найти точный ответ.

Ответ 1

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

Setup.exe может быть загрузчиком или не MSI установщиком. Установщик, не относящийся к MSI, извлечет ресурсы установки из себя и будет управлять их установкой напрямую. Загрузчик будет содержать MSI вместо отдельных файлов. В этом случае setup.exe вызовет установщик Windows для установки MSI.

Некоторые причины, по которым вы можете использовать setup.exe:

  • Установщик Windows позволяет устанавливать только один MSI одновременно. Это означает, что MSI трудно установить другие MSI (например, такие зависимости, как .NET Framework или среда выполнения C++). Поскольку файл setup.exe не является MSI, его можно использовать для последовательной установки нескольких MSI.
  • Возможно, вам потребуется более точный контроль над управлением установкой. У MSI есть очень специфические правила о том, как он управляет установками, включая установку, обновление и удаление. Setup.exe дает полный контроль над процессом настройки программного обеспечения. Это должно быть сделано только в том случае, если вам действительно нужен дополнительный контроль, так как это много работы, и может быть сложно сделать это правильно.

Ответ 2

.msi файлы - это файлы установщика Windows без установки Windows Installer, setup.exe может быть любой исполняемой программой (возможно, той, которая устанавливает файлы на вашем компьютере).

Ответ 3

MSI - это файл установщика, который устанавливает вашу программу в исполняющей системе.

Setup.exe - это приложение (исполняемый файл), в котором одним из ресурсов является файл msi. Выполнение Setup.exe, в свою очередь, выполнит msi (установщик), который записывает ваше приложение в систему.

Изменить (как предлагается в комментарии): установочные исполняемые файлы не обязательно имеют ресурс MSI внутри

Ответ 4

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

Надеюсь, это избавит вас от сомнений.