WiX 和 WiX 工具集有哪些限制?

问题描述 投票:0回答:3

我一直未能成功地尝试找到列出 WiX(Windows Installer XML)/WiX 工具集功能限制的文章或帖子。使用 WiX 几周后,我可以想到最新 RTM 版本(v3.0)中至少有两个限制

  • WiX 工具集无法创建 bootstrapper (setup.exe)。
  • WiX 工具集无法从 COM 可执行文件检索 COM 注册 信息。

你还能想到其他限制吗?您在进行部署项目时遇到过什么情况吗?我认为这些信息对于学习 WiX 的人来说可能会很方便。

wix
3个回答
21
投票

对我来说,回答这个问题最简单的方式是 WiX 缺少 InstallShield 所具有的功能(功能差距)。

  • Bootstrapper/Chainer - WiX 有一个名为 Burn 的引导程序,现已包含在 WiX v3.6 中。
  • XML 读取 - WiX 仅具有 CA 写入而非读取 (AppSearch) XML 文件
  • 文本搜索/替换 - InstallShield 具有读/写非模式 INI/XML 文件
  • 仅限 MSSQL - 不支持 Oracle 和 MySQL
  • 自动化接口 - 无 DOM 以编程方式更新/生成 项目。 必须用原料来做这一切 XML。
  • 没有本机 IIS 7 支持 - WiX v3.5 开始提供本机 IIS7 支持
  • 主要是纯文本工具集。 无图形用户界面 重型起重设计师(参见 是WiX)。 XML 很简洁并且有它的特点 但它就像比较记事本 混合。

我已经使用热量相当成功地提取了 COM,所以这不再是我关心的问题。


12
投票

我想补充几点,但这些很难被称为严重的限制,因为它们都可以解决:

  • 没有现成的工具可以将转换(MST)嵌入到 MSI 包中;这就是 msidb.exe 发挥作用的地方
  • 您必须做额外的工作来创建具有多个本地化的单个包,例如创建 N 个包、针对中性包生成 N 个语言转换、将这些转换嵌入到包中、指示您的引导程序调用正确的语言转换
  • WiX 3.0 的 IIS 扩展相当有限 - 仅在 IIS 6 兼容模式下支持 IIS 7;但幸运的是,对于 WiX 3.5 来说,情况不再如此
  • Heat 默认无法生成“1 个组件 - N 个文件”。是的,我知道,不推荐这样做,但有时你需要它;幸运的是,您可以使用 XSL 以您喜欢的方式改变热量输出
  • UtilExtension 的 PermissionEx 没有仅在文件夹上设置 ACL 的开关。如果您只需要为已安装的文件设置 ACL,则这是相当小的。但我必须通过快速修复来修补 WiX,以便能够在现有文件系统树上说“仅将这些权限应用于文件夹”

让我再次重申,我不考虑这些严重的限制。我对 Rob 和团队迄今为止所做的事情感到非常满意,他们正走在正确的轨道上! :)


0
投票

如果这是 python 安装程序:

  1. “所有用户”安装不会在注册表的 HKLM 或计算机部分中注册。

  2. 它是一个非托管应用程序,因此 Windows 服务器会报告错误“0x080070659 - 系统策略禁止此安装。请联系您的系统管理员。”如果普通用户尝试运行它(DisableMSI 默认为 1)

© www.soinside.com 2019 - 2024. All rights reserved.