如何创建能够安装Windows Installer本身的MSI软件包

3

是否可以创建一个MSI包,它在系统中没有安装Windows安装程序的情况下运行,但首先会安装Windows安装程序,然后继续安装其他组件?

目标是为我们的软件创建前提包,其中必须安装一些组件,包括一些操作系统服务包。 我们还喜欢使用MSI包。 但是我们明显地意识到我们的软件将安装在干净的操作系统上。 虽然不需要Windows安装程序存在。 是否可以使用MSI创建这样的前提包?


现在这就是鸡生蛋问题了 :) 我非常怀疑这是可能的:如果目标计算机没有安装Windows Installer,它怎么处理_msi_文件? - Anton Gogolev
我希望有一种方法可以使用MSI创建.exe分发,首先这个分发将安装Windows安装程序。有吗?还是唯一的方法是使用其他东西,比如NSIS? - Dmitrii Lobanov
3个回答

6
不,如果操作系统中没有安装Windows Installer,则无法安装.MSI包。但是,自从Windows 2000以来,Windows Installer已成为Windows的本地部分。你真的在为Windows 95/98/NT4开发安装程序吗?这将是唯一没有Windows Installer支持并且需要先安装可再分发MSI包的情况。除非你的意思是说你需要比较老的操作系统中所具有的本地Windows Installer版本更高的版本?(例如WinXP的MSI 3.1)在这种情况下,您需要捆绑所需的.MSI可再分发包并首先运行它。有时需要重新启动,有时不需要。结果可能因人而异。

1
可以通过使用cpp、c或任何不需要额外框架或SDK的语言编写应用程序,以编程方式检查安装程序并安装它。

0

听起来你需要一个包含两个或多个msi文件的引导程序。看一下WiX文档。WiX有内置的引导程序。

希望这能帮到你。

s


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接