就我个人的了解(可能不准确啊),在某些企业应用环境下,需要企业的IT部门或者系统管理员为企业的所有员工远程批量自动部署应用程序,在这种情形下就必须要使用MSI并采用Active Directory的策略来进行了。
另外,有的安装程序做出来的EXE文件,其实只是MSI的一个引导程序,它必须和MSI配合在一起才能安装。这个引导程序会去启动Windows Installer服务,检查Windows Installer服务版本等……
而有的安装程序这把这个引导程序和MSI打包成了一个单独的EXE。
其实,用Visual Studio做出来的安装程序,就算是通过EXE安装,实际上也是会在后台启动Windows Installer Service来完成安装的。
exe比msi好用,msi需要启动安装服务,exe直接可以运行