如何使用 WiX 创建 .msi 安装程序
How to create .msi installer with WiX
有人可以帮助我了解 WiX 的工作原理吗?我有一个目录结构,我想为其创建一个安装程序。我已经使用 heat.exe 为目录结构生成了文件,当我构建安装项目时,它会生成一个 .msi 文件,但我认为它没有安装任何东西。
也许有人可以指导我完成生成 .msi 安装程序的步骤。
如有任何建议,我们将不胜感激,
谢谢
这里有很好的教程:
http://www.codeproject.com/Tips/105638/A-quick-introduction-Create-an-MSI-installer-with
它们应该可以帮助您入门。
如果您了解有关 MSI 日志的一些信息也将有所帮助 - 使用包含 /L*vx
的命令行安装 MSI
并且 "doesn't install anything" 应该很容易检查 - 是否安装了任何文件,或者它是否在程序和功能中创建了一个条目?
WiX 是一种语言 (XML/XSD),用作创作(编译)Windows 安装程序 (.MSI) 数据库的一种方式。 WiX 不安装任何东西,MSI 会。
我维护一个名为 IsWiX 的开源项目。这个概念很简单。 IsWiX 提供额外的 WiX 项目模板(脚手架)和图形设计器来帮助您创建安装程序。然后,当您获得 WiX 和 MSI 的知识时,您可以手动对 WiX XML 进行额外的调整,并超越 IsWiX 目前知道如何创作的内容。
这里 video 展示了如何在短短 3 分钟内编写、构建和测试 MSI 以部署 IIS 网站。
更新:IsWiX 现在有 tutorials。
在 'false starts' 尝试通过在线教程学习 WiX 之后,我注意到 http://wixtoolset.org/ there is a link to the book "WiX 3.6: A Developer's Guide to Windows Installer XML". You can buy it pretty inexpensively in E-book form from Packt, or also Amazon 如果您喜欢 Kindle 的简单界面。
我发现这本书对于 .msi 创建过程的每一个小步骤都非常有帮助。本书将在第一章指导您创建您的第一个 .msi!诚然,您必须继续多做一点才能拥有功能齐全的 .msi,但考虑到 Wix 的复杂性,这本书非常棒。它可能不适合我们中间的大师,但对于我们这些需要更多帮助来理解 material 的人来说,这太棒了。我看到很多帖子都谈到了 'steep learning curve' 关于 WiX 的问题,创建有效的 .msi 是一个复杂的过程,但是这本书在使学习曲线变得非常容易忍受方面大有帮助。
如果您正在使用 Visual Studio:
- 安装 WiX Toolset V3 Visual Studio plugin.
- 安装 Wax interactive editor.
- 如果您还没有构建您的项目。
- 将新项目添加到包含您要为其创建安装程序的项目的解决方案。
- 选择模板WiX v3 的设置项目。
- 为安装程序命名。个人约定是项目名称加上“.Setup”
- 一个 Product.wxs 文件将打开。将
Manufacturer=""
值更改为您的公司名称或您的姓名。保持文件打开。
- 转到工具 -> WiX 设置编辑器
- 在左侧 根目录 下选择 InstallFolder
- 在要安装的项目下,选择您要安装的项目。
- 在右侧的红色区域中,您会看到一个文件列表。这些是您从步骤 3 构建的输出结果。
- 单击要复制的文件旁边的加号。它们应该变成白色并变为已解决状态。
- 这可能看起来令人生畏,但您只是告诉它要复制什么——这将是您项目的可执行文件、配置、dll 库和它所依赖的图像。
- 您通常想要复制所有内容。如果有您知道不需要的 dll,最好将它们作为依赖项从 Visual Studio.
中删除
- 请注意 Product.wxs 已更改。它现在将您在设置编辑器 GUI 中选中的文件添加到
<Wix><Fragment><ComponentGroup>
部分。保存该文件。
- 关闭设置编辑器。
- 构建您刚刚配置的安装项目。
- 打开 Windows 资源管理器并转到该项目的 bin/Debug 或 bin/Release 文件夹,具体取决于您内置的模式。在那里您会看到可以复制的 .msi到你需要的地方。
要进行更新,请进行必要的更改,然后在该项目的属性 -> 应用程序 -> 程序集信息 中更改版本号。然后在Product.wxs<Wix><Product.Version>
里也改一下。然后再次构建您的安装项目。
如果您使用的是构建系统'cmake',那么您可以通过将 cpack 生成器设置为 wix 来使用 cpack 生成 .msi 文件。
有人可以帮助我了解 WiX 的工作原理吗?我有一个目录结构,我想为其创建一个安装程序。我已经使用 heat.exe 为目录结构生成了文件,当我构建安装项目时,它会生成一个 .msi 文件,但我认为它没有安装任何东西。
也许有人可以指导我完成生成 .msi 安装程序的步骤。
如有任何建议,我们将不胜感激, 谢谢
这里有很好的教程:
http://www.codeproject.com/Tips/105638/A-quick-introduction-Create-an-MSI-installer-with
它们应该可以帮助您入门。
如果您了解有关 MSI 日志的一些信息也将有所帮助 - 使用包含 /L*vx
的命令行安装 MSI并且 "doesn't install anything" 应该很容易检查 - 是否安装了任何文件,或者它是否在程序和功能中创建了一个条目?
WiX 是一种语言 (XML/XSD),用作创作(编译)Windows 安装程序 (.MSI) 数据库的一种方式。 WiX 不安装任何东西,MSI 会。
我维护一个名为 IsWiX 的开源项目。这个概念很简单。 IsWiX 提供额外的 WiX 项目模板(脚手架)和图形设计器来帮助您创建安装程序。然后,当您获得 WiX 和 MSI 的知识时,您可以手动对 WiX XML 进行额外的调整,并超越 IsWiX 目前知道如何创作的内容。
这里 video 展示了如何在短短 3 分钟内编写、构建和测试 MSI 以部署 IIS 网站。
更新:IsWiX 现在有 tutorials。
在 'false starts' 尝试通过在线教程学习 WiX 之后,我注意到 http://wixtoolset.org/ there is a link to the book "WiX 3.6: A Developer's Guide to Windows Installer XML". You can buy it pretty inexpensively in E-book form from Packt, or also Amazon 如果您喜欢 Kindle 的简单界面。
我发现这本书对于 .msi 创建过程的每一个小步骤都非常有帮助。本书将在第一章指导您创建您的第一个 .msi!诚然,您必须继续多做一点才能拥有功能齐全的 .msi,但考虑到 Wix 的复杂性,这本书非常棒。它可能不适合我们中间的大师,但对于我们这些需要更多帮助来理解 material 的人来说,这太棒了。我看到很多帖子都谈到了 'steep learning curve' 关于 WiX 的问题,创建有效的 .msi 是一个复杂的过程,但是这本书在使学习曲线变得非常容易忍受方面大有帮助。
如果您正在使用 Visual Studio:
- 安装 WiX Toolset V3 Visual Studio plugin.
- 安装 Wax interactive editor.
- 如果您还没有构建您的项目。
- 将新项目添加到包含您要为其创建安装程序的项目的解决方案。
- 选择模板WiX v3 的设置项目。
- 为安装程序命名。个人约定是项目名称加上“.Setup”
- 一个 Product.wxs 文件将打开。将
Manufacturer=""
值更改为您的公司名称或您的姓名。保持文件打开。 - 转到工具 -> WiX 设置编辑器
- 在左侧 根目录 下选择 InstallFolder
- 在要安装的项目下,选择您要安装的项目。
- 在右侧的红色区域中,您会看到一个文件列表。这些是您从步骤 3 构建的输出结果。
- 单击要复制的文件旁边的加号。它们应该变成白色并变为已解决状态。
- 这可能看起来令人生畏,但您只是告诉它要复制什么——这将是您项目的可执行文件、配置、dll 库和它所依赖的图像。
- 您通常想要复制所有内容。如果有您知道不需要的 dll,最好将它们作为依赖项从 Visual Studio. 中删除
- 请注意 Product.wxs 已更改。它现在将您在设置编辑器 GUI 中选中的文件添加到
<Wix><Fragment><ComponentGroup>
部分。保存该文件。 - 关闭设置编辑器。
- 构建您刚刚配置的安装项目。
- 打开 Windows 资源管理器并转到该项目的 bin/Debug 或 bin/Release 文件夹,具体取决于您内置的模式。在那里您会看到可以复制的 .msi到你需要的地方。
要进行更新,请进行必要的更改,然后在该项目的属性 -> 应用程序 -> 程序集信息 中更改版本号。然后在Product.wxs<Wix><Product.Version>
里也改一下。然后再次构建您的安装项目。
如果您使用的是构建系统'cmake',那么您可以通过将 cpack 生成器设置为 wix 来使用 cpack 生成 .msi 文件。