我搜索了很多,但都是猜测的答案。帮我找到确切的答案。
MSI基本上是微软内置在windows中的安装程序。它将组件与特性关联起来,并包含安装控制信息。这个文件不一定包含用户实际需要的文件,即用户期望的应用程序。MSI可以包含另一个setup.exe在里面,MSI包装,它实际上包含用户所需的文件。
希望这能消除你的疑虑。
MSI是Windows安装程序数据库。Windows Installer(与Windows一起安装的服务)使用它在您的系统上安装软件(即复制文件,设置注册表值等)。
setup.exe可以是一个引导程序,也可以是非msi安装程序。非msi安装程序将从自身提取安装资源并直接管理其安装。引导程序将包含一个MSI,而不是单独的文件。在这种情况下,setup.exe将调用Windows安装程序来安装MSI。
你可能想要使用setup.exe的一些原因:
Windows Installer only allows one MSI to be installing at a time. This means that it is difficult to have an MSI install other MSIs (e.g. dependencies like the .NET framework or C++ runtime). Since a setup.exe is not an MSI, it can be used to install several MSIs in sequence. You might want more precise control over how the installation is managed. An MSI has very specific rules about how it manages the installations, including installing, upgrading, and uninstalling. A setup.exe gives complete control over the software configuration process. This should only be done if you really need the extra control since it is a lot of work, and it can be tricky to get it right.
MSI是一个安装文件,它将你的程序安装在执行系统上。
Setup.exe是一个应用程序(可执行文件),它有msi文件作为其资源之一。 执行Setup.exe将依次执行msi(安装程序),将应用程序写入系统。
编辑(在评论中建议):安装可执行文件内部不一定有MSI资源
推荐文章
- .msi和setup.exe文件之间的具体区别是什么?
- PackagesNotFoundError:以下包从当前通道不可用:
- 在Mac上安装R -警告消息:设置LC_CTYPE失败,使用“C”
- 如何使用命令行工具为Mac OS X创建一个漂亮的DMG ?
- 如何在Mac上的命令行安装JQ ?
- 映射一个网络驱动器供服务使用
- 如何从java应用程序创建一个windows服务
- INSTALL_PARSE_FAILED_NO_CERTIFICATES错误是什么?
- 如何在GitHub操作工作流中apt-get安装?
- 如何实现WiX安装程序升级?
- 无法安装pg gem
- "RuntimeError: Make sure the Graphviz executables are on your system's path . "在安装Graphviz 2.38之后
- 'MyClass'的类型初始化式抛出异常
- 使用pip安装特定的git提交
- require和require-dev的区别是什么?