BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

WiX v3.7——支持MSBuild、自更新及引用计数

| 作者 Anand Narayanaswamy 关注 0 他的粉丝 ,译者 康锦龙 关注 0 他的粉丝 发布于 2013年1月12日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

最近发布的Windows Installer XML (WiX) 工具包v3.7包含了对MSBuild的完整支持,并使开发者能够通过Bootstrapper应用程序来实现程序的自更新(self-update)。此版本还包含了引用计数(reference-counting)功能,借助该功能,Burn引擎能够对引用的MSI和MSP包进行自动计数。

WiX使开发人员能够从XML源代码创建Windows安装包。该工具包能够编译源代码,我们可以组合使用这些工具来创建各种可执行文件,比如:

隶属于Outercurve基金会的WiX包括一个命令行构建工具,能够与任何自动构建系统结合使用。此外,MSBuild不仅支持命令行模式,也可与Visual Studio 2012Team Build集成。

除了创建Windows安装包,WiX工具包还包含了一些扩展来进行功能扩充,如建立IIS站点、创建SQL Server数据库和设置Windows防火墙例外等。在WiX SDK原生和托管库的帮助下,开发人员可以编写C#或C++代码与Windows Installer进行交互。

Wix中包含了Votive,这是一个Visual Studio插件,使你能够通过Visual Studio集成开发环境(IDE)创建并构建WiX安装项目,还支持.wxs源文件的语法高亮智能感知。它还在Visual Studio中添加了一个WiX安装项目类型,可以通过文件(File)下的菜单使用。

WiX的内部结构包含以下组件:

  • Candle——编译器
  • Light——链接器
  • Lit ——库工具
  • Dark——反编译器
  • Tallow/Heat——根据目录树生成WiX文件列表代码的工具
  • Pyro——创建补丁文件(msp)的工具
  • Burn——引导程序(Bootstrapper)

几个开发人员在大量地使用了WiX工具集后,已经提交了一些Bug

Steve 报告说:

安装了WiX 3.7之后,无法打开已有的Visual Studio 2008 WiX项目。

Brian评论道:

在Windows 7 64位平台中安装Wix37.exe存在问题。用户界面仅仅显示“错误,请重试”的消息。我不确定这是什么问题。我的系统安装有Wix 3.6、VS2010和VS2012。

Greg Duncan说:

虽然更新不算很大,但个人认为这样更好。我更喜欢这样快节奏的更新。我有一种强烈的预感,过段时间我还会来这里看看WiX。

参考

  1. WiX手册
  2. WiX教程
  3. 图书《WiX 3.6:Windows Installer XML开发者指南》
  4. How to: 安装Windows Installer XML (WiX)工具
  5. 为ASP.NET Web应用程序创建WIX Installer
  6. 使用MSBuild和WindowsInstaller XML执行自动发布
  7. Windows Installer XML初学者指南

查看英文原文WiX v3.7 - MSBuild, Self Update and Reference Counting


感谢臧秀涛对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT