WiX和DTF介绍

Posted 张善友

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WiX和DTF介绍相关的知识,希望对你有一定的参考价值。

Windows Installer XML(WiX) 这里所介绍的是Wix 3.0版本,目前还是beta. Wix 是 Windows Installer XML 的缩写,它是微软提供的一组工具和规范用来制作MSI格式的安装包。DTF就是msi.dll(Windows installer library)的.net包装,DTF使得为MSI安装包编写自定义Actions(CA)非常容易了,DTF就可以使用.NET支持的语言C#/VB.NET等等来写CA了。

Windows Installer XML(WiX)

这里所介绍的是​​Wix 3.0版本​​,目前还是beta. Wix 是 Windows Installer XML 的缩写,它是微软提供的一组工具和规范的集合,用来制作MSI格式的安装包。另外值得一提的是,Wix是微软少有的开源软件之一。 制作MSI的工作有InstallShield,Wise,他们都是商业程序,需要付费,你也可以使用WiX来完成安装程序制作。WiX和这些MSI的工具比较有不同的地方:

  • 它完全用xml描述,使用命令行来生成,这非常容易整合到开发流程中,通过Nant,Msbuild调用
  • WiX是开源的,定制性非常好,你能够做用Wise或者InstallShield所想到的事情。

微软内部的程序打包也是使用WiX的。

Deployment Tools Foundation (DTF)

DTF就是msi.dll(Windows installer library)的.net包装,DTF使得为MSI安装包编写自定义Actions(CA)非常容易了,之前编写CA只有三种选择:C++、VB Script和Java Script。

目前开箱即用的CA有下列这些:

  • Install/delete/move files
  • Create/delete/change folders
  • Create/delete/change shortcuts
  • Install/remove/start/stop Windows Services
  • Reboots
  • Install/remove ODBC drivers
  • Register/un-register COM/COM+ applications
  • Register/un-register fonts
  • Write/change registry
  • ...and so on...可以到这里:​​http://msdn.microsoft.com/zh-cn/library/aa372023(en-us,VS.85).aspx​​ 完整列表
    Windows Installer不能完全覆盖所有的场景,我们可以自定义CA来满足要求。DTF就可以使用.NET支持的语言C#/VB.NET等等来写CA了。
    ​​​Wix 3.0版​​​版本就是基于DTF之上开发的,虽然3.0版本现在还是beta阶段,3.0还支持VS2008的项目模板。




以上是关于WiX和DTF介绍的主要内容,如果未能解决你的问题,请参考以下文章

获取已安装 Msi 的产品代码

Wix - 如何创建一个临时文件以在安装期间使用

Wix 安装然后立即尝试修复

在 WiX 中重新启动后继续安装

[Err] [Dtf] 1044 - Access denied for user 'root'@'localhost' to database 'inform

如何使用 wix 在卸载时编写注册表项