2008-10-02 67 views
6

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

  • 点击。用于创建安装程序的Nice GUI,但不能手动编辑安装程序定义/项目文件。
  • 文本文件:否(官方)GUI。安装程序根据手动编辑的文本文件中的定义进行编译。

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

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

编辑:我很想听听有关基于非MSI的工具。 MSI不是必需品(相反......)

回答

6

Wix 3.0 beta为此目的包含.NET支持。我不知道它有多好,但它包含文档。这是一个操纵安装创建过程的类型框架和所有的优点,所以如果你不想,你甚至不需要写一行WiX XML。

1

WiX是一个很好的工具,但为了使事情发生,你将不得不做很多直接编码。幸运的是,文档非常好,并且有几个GUI工具,如SourceForge上的WixEdit以帮助完成此过程。

+0

WiX 3.0有一个编程框架,您不需要编写wix文件。一探究竟。 – 2008-10-02 22:02:08

0

那么,有Windows Installer API,你可以用它来直接创建MSI文件,但是我认为你最好使用WiX。

“直接编码”将会比直接处理Windows Installer API要少得多,我猜这可能是您的需求太“低级别”。根据你想要做什么,你可以使用WiX生成一个MSI,然后使用API​​调整。

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

+0

生成XML是可以接受的 - 我可以在顶部添加自己的功能层。生成一个文本文件(更像是一种编程语言)是不太可以接受的,因为它更自由,我必须处理引用等。 – JesperE 2008-10-03 09:40:38

相关问题