如何使用WiX创建.msi安装程序

时间:2015-02-09 16:52:50

标签: wix windows-installer installer

有人可以帮我理解WiX的工作原理吗?我有一个目录结构,我想为其创建一个安装程序。我已经使用heat.exe生成了目录结构,当我构建安装项目时,它会生成一个.msi文件,但我认为它不会安装任何内容。

也许有人可以指导我完成生成.msi安装程序的步骤。

任何建议表示赞赏, 谢谢

5 个答案:

答案 0 :(得分:8)

这里的好教程:

http://wix.tramontana.co.hu/

http://www.codeproject.com/Tips/105638/A-quick-introduction-Create-an-MSI-installer-with

他们应该让你入门。

如果您了解MSI日志也会有所帮助 - 使用包含/ L * vx的命令行安装MSI

并且“不安装任何东西”应该很容易检查 - 是否安装了任何文件,或者是否在“程序和功能”中创建了一个条目?

答案 1 :(得分:5)

WiX是一种语言(XML / XSD),用作编写(编译)Windows Installer(.MSI)数据库的方法。 WiX没有安装任何东西,MSI。

我维护一个名为IsWiX的开源项目。这个概念很简单。 IsWiX提供额外的WiX项目模板(脚手架)和图形设计器,以帮助您创建安装程序。然后,当您获得有关WiX和MSI的知识时,您可以手动对WiX XML进行额外调整,并超越IsWiX目前所知道的如何创作。

这是一个video,展示如何在3分钟内创建,构建和测试MSI以部署IIS网站。

答案 2 :(得分:5)

如果您使用的是Visual Studio:

  1. 安装WiX Toolset V3 Visual Studio plugin
  2. 安装Wax interactive editor
  3. 如果还没有构建您的项目。
  4. 将新项目添加到包含要为其创建安装程序的项目的解决方案中。
  5. 选择模板 WiX v3的安装项目
  6. 命名安装程序。个人约定是项目的名称加上“ .Setup”
  7. 将打开一个Product.wxs文件。将Manufacturer=""的值更改为公司名称或名称。保持文件打开。
  8. 转到工具-> WiX设置编辑器
  9. 根目录下的左侧,选择 InstallFolder
  10. 要安装的项目下,选择要安装的项目。
  11. 在右侧红色区域中,您将看到文件列表。这些是步骤3生成的输出结果。
  12. 单击要复制的文件旁边的加号。它们应该变成白色并变为“已解决”状态。
  13. 这可能令人望而生畏,但您只是告诉它要复制什么-这将是项目的可执行文件,配置,dll库以及它所依赖的映像。
  14. 您通常希望复制所有内容。如果您知道不需要dll,最好从Visual Studio中将其作为依赖项删除。
  15. 注意Product.wxs已更改。现在,它已将您在“设置编辑器” GUI中选中的文件添加到<Wix><Fragment><ComponentGroup>部分中。保存该文件。
  16. 关闭设置编辑器。
  17. 构建您刚刚配置的安装项目。
  18. 打开Windows资源管理器,然后转到该项目的bin / Debug或bin / Release文件夹,具体取决于您内置的模式。在此处,您会看到可以复制到所需位置的.msi。

要进行更新,请进行必要的更改,然后在该项目的 Properties-> Application-> Assembly Information 中更改版本号。然后在Product.wxs <Wix><Product.Version>中进行更改。然后重新构建您的安装项目。

答案 3 :(得分:2)

在尝试从在线教程中学习WiX的几次“错误启动”之后,我注意到在http://wixtoolset.org/上有一个指向“WiX 3.6:Windows Installer XML开发人员指南”的链接。如果你喜欢Kindle的简单界面,你可以从Packt以电子书的形式非常便宜地购买它,或者Amazon

我发现这本书对于.msi创建过程中的每一个小步骤都非常有帮助。本书将指导您在第1章中创建您的第一个.msi!当然,你必须继续多一点才能拥有一个功能齐全的.msi,但考虑到Wix的复杂性,这本书非常棒。它可能不适合我们中间的大师,但对于我们这些需要更多帮助来理解这些材料的人来说,它是美妙的。我已经看到很多帖子都谈到了关于WiX的“陡峭的学习曲线”,创建一个有效的.msi是一个复杂的过程,但是这本书对于使学习曲线变得非常可以接受还有很长的路要走。

答案 4 :(得分:0)

如果您使用的是构建系统“cmake”,那么您可以通过将 cpack 生成器设置为 wix 来使用 cpack 生成 .msi 文件。