WiX 工具集(WiX Toolset)是创建 Windows 安装包(如 MSI 和 EXE)的强大工具,而 Wix.exe 是其核心命令行工具,提供了高效的方式来构建、管理和操作安装包。本文将全面介绍 Wix.exe 的功能及使用方法。
Wix.exe 的功能概述
Wix.exe 支持多种命令,每个命令专注于特定任务,例如构建安装包、反编译 MSI 文件、管理扩展等。
支持的命令
命令 | 描述 |
---|---|
wix build | 构建安装包(如 MSI)或库文件(如 .wixlib)。 |
wix msi | 操作 MSI 包(如反编译、验证、创建变换文件)。 |
wix burn | 操作 Burn 引导程序(如提取内容、重新附加等)。 |
wix extension | 管理 WiX 扩展(添加、移除或列出扩展)。 |
wix convert | 将 WiX v3 源代码转换为 v4 格式。 |
wix format | 格式化 WiX 源代码,确保一致性。 |
通用选项
选项 | 描述 |
---|---|
--help 或 -h | 显示命令帮助信息。 |
--version | 显示当前使用的 WiX 工具版本。 |
--nologo | 禁止显示工具标识信息。 |
命令详解
1. wix build
构建安装包
用途
wix build
用于构建 MSI 安装包、EXE 引导程序或 WiX 库文件(.wixlib)。
语法
wix build [选项] source_file.wxs [source_file.wxs ...]
常用选项
选项 | 描述 |
---|---|
-arch arch | 指定架构(x86、x64、arm64)。默认为 x86。 |
-loc path | 指定本地化文件(如 .wxl)。 |
-o path | 指定输出文件路径和名称(如 MyApp.msi)。 |
-ext id | 加载 WiX 扩展(如 WixToolset.Util.wixext )。 |
-pdb path | 指定输出 .wixpdb 调试文件的路径。 |
示例
构建单个 MSI 包:
wix build Product.wxs -o MyAppInstaller.msi
构建并添加本地化支持:
wix build Product.wxs -loc Product.en-us.wxl -o MyAppInstaller.msi
2. wix msi
操作 MSI 包
wix msi
提供了一组子命令,用于操作 MSI 包(如反编译、验证等)。
a. 反编译 MSI 包
反编译 MSI 包为 WiX 源代码:
wix msi decompile input.msi -o output.wxs
选项 | 描述 |
---|---|
-data | 反编译为 WiX 数据文件而不是源代码。 |
-x path | 导出嵌入的二进制文件(如图标)。 |
-o path | 指定输出文件路径。 |
b. 验证 MSI 包
验证 MSI 包的内部一致性:
wix msi validate input.msi
选项 | 描述 |
---|---|
-cub path | 指定自定义验证规则文件(.cub)。 |
-ice id | 指定使用特定的 ICE 验证器。 |
-sice id | 跳过特定的 ICE 验证器。 |
3. wix burn
操作 Burn 引导程序
wix burn
提供了一组子命令,用于提取和签名 Burn 引导程序(EXE 安装包)。
a. 提取引导程序内容
提取 Burn 引导程序的内容到指定目录:
wix burn extract bundle.exe -o extracted_folder
b. 重新附加引导程序
重新附加签名的引擎到 Burn 引导程序:
wix burn reattach original.exe -engine signed_engine.exe -o final_bundle.exe
4. wix extension
管理扩展
wix extension
用于管理 WiX 扩展(如添加、移除或列出扩展)。以下是常用子命令:
a. 添加扩展
安装一个扩展到全局缓存:
wix extension add WixToolset.Util.wixext/5.0.1
b. 列出扩展
列出所有已安装的扩展:
wix extension list
5. wix convert
转换 WiX v3 代码
将 WiX v3 的源代码转换为 WiX v4 格式:
wix convert v3_file.wxs -o v4_file.wxs
选项 | 描述 |
---|---|
--dry-run | 仅显示转换错误,但不更新文件。 |
-r | 递归搜索当前目录及子目录中的文件进行转换。 |
6. wix format
格式化代码
格式化 WiX 源代码,确保缩进和命名一致性:
wix format source.wxs
选项 | 描述 |
---|---|
--dry-run | 仅显示格式问题,不修改文件。 |
-r | 递归格式化当前目录及子目录中的文件。 |
更多用法示例
构建复杂项目
如果项目包含多个 .wxs
文件,可以同时传递它们到 wix build
命令:
wix build Product.wxs Fragment1.wxs Fragment2.wxs -o MyApp.msi
自定义安装路径
使用 -loc
指定本地化文件,并通过自定义属性调整安装路径:
wix build Product.wxs -loc MyAppLocalization.wxl -o CustomPathInstaller.msi
总结
Wix.exe 是 WiX 工具集中功能强大的命令行工具,支持构建、验证、提取、格式化等多种操作,为安装包的开发提供了极大的灵活性。通过学习上述命令和选项,你可以轻松完成从简单到复杂的安装包开发任务。
如需更详细的参考,可以访问 WiX 官方文档。