QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

WiX: Windows 开发人员安装 / 部署项目的未来

  • 2008-12-16
  • 本文字数:661 字

    阅读完需:约 2 分钟

Team Foundation Server 通过 MSBuild 支持持续集成和命令行编译。遗憾的是 MSBuild 存在明显不足,它不支持安装 / 部署项目。对于严重依赖于 MSI 安装包的公司来说,这并不是一件容易的工作。

Visual Studio 中部署项目的根本问题是它们依赖于 Visual Studio。不像 VB 和 C#它们有单独的编译器,安装 / 部署项目只能通过 Visual Studio 来编译。

这个 hack 非常简单,编译完主项目之后,我们调用 Visual Studio 命令行编译 vdproj 项目并拷贝 msi 和 setup.exe 文件到输出目录。

据微软的 Buck Hodges 介绍,下个版本的 Visual Studio 和 Team Foundation Server 的安装 / 部署项目将使用 WiX 代替。WiX 也叫做 Windows Installer XML 工具集,是一个用于生成 Windows MSI 安装包的强大工具。WiX 3 目前还是 beta 版本,它提供了 Windows Installer 4 的所有功能,并且与 NAnt 和 MSBuild 兼容。

与微软经常提供丰富的工具支持相比,WiX 因缺乏工具支持而闻名。即使使用 Visual Studio 插件 Votive,开发人员也需要花费大量时间来手工编辑 XML 文件。

WiX 是一个有着不寻常历史的的微软项目,根据 Wikipedia 的说明,它是微软第一个在通用公共许可证(Common Public License,CPL)下发布的项目,而且是第一个在非微软的服务器上托管的项目,托管在 SourceForge。在微软,WiX 已经成为一个不可或缺的工具,用于关键产品的打包,例如 SQL Server 2005 和 Office 2007。

Rob Mensching 说 WiX 3.0 即将开发完成,最新的版本是 3.0.4805,可以从

SourceForge 上下载。 除了正式发布的版本,WiX 还为早期的使用者提供每周编译版本。

2008-12-16 21:411589
用户头像

发布了 45 篇内容, 共 74509 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

读《Software Systems Architecture》(28)—— The Evolution Perspective

术子米德

架构师成长笔记

JVM调优简要思想及简单案例-JVM是什么?

zarmnosaj

6月月更

读《Software Systems Architecture》(27)—— The Availability and Resilience Perspective

术子米德

架构师成长笔记

读《Software Systems Architecture》(26)—— The Performance and Scalability Perspective

术子米德

架构师成长笔记

Java Core 「8」字节码增强技术

Samson

学习笔记 Java core 6月月更

Paper Reading 预告 | Volcano-An Extensible and Parallel Query Evaluation System(众神推荐的 Paper 下载合集)

TiDB 社区干货传送门

TiDB Paper Reading

读《Software Systems Architecture》(25)—— The Security Perspective

术子米德

架构师成长笔记

flutter系列之:Material中的3D组件Card

程序那些事

flutter 程序那些事 6月月更

[数据分析实践]-文本分析-U.S. Patent Phrase-1

浩波的笔记

数据分析

远程办公-如何提高开会效率?| 社区征文

石云升

远程办公 开会 会议 6月月更 初夏征文

【协程】LifecycleScope源码解析

yechaoa

android 协程 6月月更 LifecycleScope

读《Software Systems Architecture》(23)—— Archiving Consistency Across Views

术子米德

架构师成长笔记

字符串

Jason199

js 字符串 6月月更

测试开发【Mock平台】04实战:前后端项目初始化与登录鉴权实现

MegaQi

测试平台开发教程 测试干货 6月月更

面试突击57:聚簇索引=主键索引吗?

王磊

Java MySQL 面试

python停车时间计算,时分秒计算(split()函数)

写代码两年半

Python 6月月更

gogs使用webhook部署react单页应用

Nick

ci 持续集成 React 6月月更 gogs

InfoQ 极客传媒 15 周年庆征文| 手把手带你入门 API 开发

宇宙之一粟

flask-restful 6月月更 InfoQ极客传媒15周年庆 API开发

c语言选择,循环语句概述

工程师日月

6月月更

InfoQ 极客传媒 15 周年庆征文|漫谈公网网络延迟

耳东@Erdong

运维 6月月更 InfoQ极客传媒15周年庆 网络延迟

C#入门系列(十六) -- 类及其成员介绍

陈言必行

C# 6月月更

CentOS环境基于nginx搭建负载均衡

乌龟哥哥

6月月更

莫把功能当能力!从企业架构视角看警察在火锅店站岗

涛哥 数字产品和业务架构

企业架构

spring4.1.8扩展实战之五:改变bean的定义(BeanFactoryPostProcessor接口)

程序员欣宸

Java spring Spring Framework 6月月更

测试流程如何落地?

老张

软件测试 质量保障

几个非常有用的 Flutter 技巧,你可以立即使用!

坚果

6月月更

读《Software Systems Architecture》(24)—— Introduction to the Perspective Catalog

术子米德

架构师成长笔记

中台的细节

卢卡多多

中台 6月月更

【愚公系列】2022年06月 通用职责分配原则(三)-低耦合原则

愚公搬代码

6月月更

实战 | Kibana面板使用

写程序的小王叔叔

Kibana ELK Stack 6月月更

力扣每日一练之二维数组上篇Day4

京与旧铺

6月月更

WiX: Windows开发人员安装/部署项目的未来_.NET_Jonathan Allen_InfoQ精选文章