在 WiX 中禁用注册表重定向



我正在使用WiX来部署我的应用程序。此应用程序使用在 x64 和 x86 进程之间共享的注册表项。因此,它不能使用 Wow64Node。应用程序使用 KEY_WOW64_64KEY 标志来实现此目的。

但是如何使用带有WiX的MSI构建来完成此操作?目前我使用x86和x64版本的安装程序,但这给了我很大的开销。是否可以在WiX中禁用注册表重定向?我找到了DisableRegistryReflection属性,但这似乎对重定向没有影响。另一个想法是将两个安装程序合并到一个文件中,就像使用语言一样。但我想到这是不支持的。

这可以通过统一的 32/64 位包来完成,但 WiX 不支持它。一些商业安装创作工具支持它。

使用单独的软件包时,32 位安装程序将使用 64 位系统上的 32 位位置。因此,为了避免注册表重定向,您应该为 32 位系统分发 32 位软件包,为 64 位系统分发 64 位软件包。

在 64 位

安装程序中,注册表项组件需要标记为 64 位。在WiX中,您可以通过将注册表组件的Win64设置为"是"来执行此操作。

最新更新