用于在Windows上创建安装程序的API

用于在Windows上创建安装程序的API,windows,installation,Windows,Installation,有很多工具可以在Windows上创建安装程序(InstallShield、InnoSetup、NSIS等等)。我见过的所有工具都属于这两类中的一类或两类 点击。用于创建安装程序的漂亮GUI,但无法手动编辑安装程序定义/项目文件 文本文件:没有(官方)GUI。安装程序是根据手动编辑的文本文件中的定义编译的 我正在构建的安装程序都是使用DSL(表示为YAML文件)定义的,因此使用GUI是不可能的,创建is textfile虽然可行但很麻烦 我真正想要的是一个公开(完整)API的工具,通过它我可以

有很多工具可以在Windows上创建安装程序(InstallShield、InnoSetup、NSIS等等)。我见过的所有工具都属于这两类中的一类或两类

  • 点击。用于创建安装程序的漂亮GUI,但无法手动编辑安装程序定义/项目文件
  • 文本文件:没有(官方)GUI。安装程序是根据手动编辑的文本文件中的定义编译的
我正在构建的安装程序都是使用DSL(表示为YAML文件)定义的,因此使用GUI是不可能的,创建is textfile虽然可行但很麻烦

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


编辑:我也很想听听非MSI工具。MSI不是一项要求(相反……)

为此目的提供了.NET支持。我不知道它的工作情况如何,但它包括文档。它是一个用于操作安装创建过程的类型框架以及所有这些优点,因此我认为如果您不想,您甚至不需要编写一行WiX XML。

WiX是一个很好的工具,但是您必须进行大量的直接编码才能使事情发生。幸运的是,文档非常好,有几个GUI工具,比如SourceForge,可以帮助您完成这一过程。

好的,有Windows Installer API,您可以使用它直接创建MSI文件,但是我认为您最好使用WiX

“直接编码”要比直接处理Windows Installer API少得多,我猜这可能太“低级”了,无法满足您的需要。根据您希望执行的操作,您可以使用WiX生成MSI,然后使用API对其进行调整


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

WiX 3.0有一个编程框架,您无需编写WiX文件。生成XML是可以接受的——我可以在上面添加自己的功能层。生成一个文本文件a la NSIS(更像是一种编程语言)是不可接受的,因为它的形式更自由,我必须处理引用等问题。