我使用Visual Studio中的“安装程序和部署”项目创建安装程序来部署我的应用程序。当我构建安装程序时,我得到一个.exe文件和一个.msi文件。
我想知道它们之间的区别。
我注意到.exe文件没有.msi文件不能工作,但反过来不是这样。
我使用Visual Studio中的“安装程序和部署”项目创建安装程序来部署我的应用程序。当我构建安装程序时,我得到一个.exe文件和一个.msi文件。
我想知道它们之间的区别。
我注意到.exe文件没有.msi文件不能工作,但反过来不是这样。
这个exe文件是一个引导程序,它会安装任何所需的先决条件,然后调用你的设置(即.msi文件)。
你可以直接运行.msi文件开始设置,但如果未安装所需的先决条件(例如:.Net框架、VC++可再发行、较新版本的MSI等),则设置将失败。
当你尝试使用引导程序(exe文件)和你的.msi文件丢失时,它会失败,因为基本上它会安装所有的先决条件,然后尝试启动你的安装程序(即.msi文件)。如果该文件不存在,则无法启动。
根据你的应用程序需求,一个类似的技术是使用合并模块作为你的应用程序先决条件。合并模块将把所有必需的组件加载到你的主安装程序中,因此你最终只会得到一个包含所有内容的MSI文件。你必须确保你使用的每个组件都有可用的合并模块,如果没有,你就必须使用引导程序。
Adrian 是正确的。这可能会增加一些更多的信息。
我相信MSI文件只是安装脚本,与Windows Installer相关联。可执行文件包装了MSI,创建了一个加载器,可以安装先决条件,但基本上做的事情是一样的。