在Windows上创建安装程序的API

时间:2020-03-06 15:03:07  来源:igfitidea点击:

有很多工具可以在Windows上创建安装程序(InstallShield,InnoSetup,NSIS,仅举几例)。我见过的所有工具都属于这两个类别中的一个或者两个

  • 指向并单击。用于创建安装程序的不错的GUI,但是无法手动编辑安装程序定义/项目文件。
  • 文本文件:没有(官方)GUI。安装程序是根据文本文件中的定义进行编译的,该文件是手动编辑的。

我正在构建的安装程序都是使用DSL(表示为YAML文件)定义的,因此使用GUI是没有问题的,尽管可行,但创建文本文件很麻烦。

我真正想要的是一个公开(完整)API的工具,通过它我可以控制安装程序的创建。有没有这样的工具?

编辑:我也想听听有关非基于MSI的工具。不需要MSI(反之亦然...)

解决方案

Wix 3.0 beta为此提供了.NET支持。我不知道它的效果如何,但其中包含文档。这是一个用于操纵安装创建过程和所有优点的类型框架,因此,我认为我们甚至不需要编写一行WiX XML。

WiX是一个很棒的工具,但是我们必须做很多直接编码才能使事情发生。幸运的是,文档非常好,并且有多个GUI工具,例如SourceForge上的WixEdit可以帮助完成此过程。

好的,我们可以使用Windows Installer API直接创建MSI文件,但是我认为使用WiX会更好。

"直接编码"将比直接处理Windows Installer API少得多,我想这可能太低了,无法满足需求。根据我们要执行的操作,可以使用WiX生成MSI,然后在以后使用API​​对其进行调整。

生成XML有什么问题?这实际上将是我们最简单的选择……我们无需手动编辑它,只需编写自己的代码即可从DSL文件和一些模板生成所需的XML。