在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。