我们有一个使用 .MSI 文件部署的大型 C# 应用程序,该文件是通过 Visual Studio 2010(或 MSBuild.exe)从 .VDProj 文件构建的。正常运行时,.MSI 安装程序将检查是否安装了某些软件,并满足某些最低版本,如果不满足版本条件,将产生有用的错误消息并退出。
这一切都很好。但是,我们正在尝试使用 msiexec.exe 以静默方式运行现有安装程序。如果已经安装了 MSI 所需的附加软件,那么我们会从 msiexec 返回 0 错误代码,同样,如果 MSI 由于系统上不存在其他软件或低于最低版本要求而失败,我们会得到一个返回非零错误代码。
有没有办法以编程方式询问 .MSI 文件并找出它的启动条件是什么?我尝试使用 msiexec 从 .MSI 中提取文件,但我仍然看不到任何类型的配置文件,其中列出了安装的最低版本要求。
任何帮助将非常感激。