.Net Installer - .exe和.msi之间的差异

Sid*_*rth 11 .net installer setup-deployment

我正在使用我在Visual Studio中使用安装和部署项目创建的安装程序来部署我的应用程序.当我构建安装项目时,我得到一个.exe和.msi文件.

我想知道它们之间的区别.

我注意到.exe在没有.msi的情况下无法工作,但反之则不然.

Adr*_*ciu 10

exe文件是一个引导程序,它安装任何必需的先决条件,然后调用您的安装程序,即msi文件.

您可以自行启动设置,运行msi文件,但如果未安装所需的先决条件,则会失败(可能的示例:.Net框架,VC++可再发行版,MSI的新版本等)

当您尝试使用bootstrapper(exe文件)运行安装程序并且缺少msi时,它会失败,因为基本上它将安装所有先决条件,然后它将尝试启动安装程序(msi文件).如果文件不存在,则无法启动.

根据您的应用程序需求,类似的技术是使用合并模块来满足您的应用程序先决条件.合并模块基本上会将所有必需的组件加载到主安装程序中,因此您最终只能使用一个包含所有内容的MSI文件.您必须确保您使用的每个组件都有可用的合并模块,否则您将不得不使用引导程序.


Jim*_*ark 1

阿德里安是对的。这可能会添加更多信息。

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