是否可以让Windows Installer注册一个包含在32位组件中的64位shell扩展?

时间:2014-09-06 01:00:47

标签: com registry windows-installer

我有一个InstallShield Basic MSI项目,它使用Release Flags机制构建32位和64位安装程序,以使用正确的模板摘要等构建不同的包。我的一个组件是explorer.exe shell扩展,所以为了使它工作,它需要在安装在Windows 64位上的注册表中的64位节点中注册,而不是在Wow6432Node中。但是,因为这是Windows Installer的32位组件,所以它将被注册为Wow6432Node。 InstallShield告诉我这是本机Windows Installer行为,除了自定义操作(我已经使用过)之外,除此之外没有办法解决这个问题。

我是否必须诉诸行动?这是我目前所做的,但我宁愿不使用自定义操作这样的事情。此外,似乎其他产品具有相同的模式:64位shell扩展,但安装在程序文件(x86)下。我看到TFS Power Tools和WinZip这样做了。对于这些产品,我没有看到regasm.exe运行,所以我假设他们有一些其他的机制。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试为该组件设置 msidbComponentAttributesDisableRegistryReflection Component table)属性?