为什么在Windows Vista x64上的86 WiX的安装程序不能写入键Wow6432Node注册表? [英] Why does an x86 WiX installer on Windows Vista x64 not write keys to Wow6432Node in the registry?

查看:564
本文介绍了为什么在Windows Vista x64上的86 WiX的安装程序不能写入键Wow6432Node注册表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个安装程序,写入 HKLM \ SOFTWARE \ DroidExplorer \安装路径。在任何x86机器将其写入蛮好预期的位置,而在Windows  XP x64和Windows  7 64位系统也写入到预期的位置,这实际上是 HKLM \ SOFTWARE \ Wow6432Node \ DroidExplorer \安装路径

I have an installer that writes to HKLM\Software\DroidExplorer\InstallPath. On any x86 machine it writes just fine to the expected location, and on Windows XP x64 and Windows 7 x64 it also writes to the expected location, which is actually HKLM\Software\Wow6432Node\DroidExplorer\InstallPath.

后来在安装过程中,我的引导程序,这也是8​​6,尝试读取值。在所有x86 Windows机器它是成功的,而在Windows XP x64和Windows 7 64位系统,但Windows Vista 64位是无法找到的关键。如果我期待在注册表中,它实际上并没有把它写Wow6432Node在Windows  Vista的;它把它写到 SOFTWARE \ DroidExplorer \安装路径

Later on during the install, my bootstrapper, which is also x86, attempts to read the value. On all x86 Windows machines it is successful, and on Windows XP x64 and Windows 7 x64, but Windows Vista x64 is unable to locate the key. If I look in the registry, it doesn't actually write it to Wow6432Node on Windows Vista; it writes it to Software\DroidExplorer\InstallPath.

如果我不强行告诉安装程序写入Wow6432Node,它是将值写入 SOFTWARE \ DroidExplorer \安装路径,但引导程序仍试图寻找在Wow6432Node,因为的<一个href="https://msdn.microsoft.com/en-us/library/aa384235%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396"相对=nofollow>注册表反射。这是所有x64系统。

If I do not forcefully tell the installer to write to Wow6432Node, it writes the value to Software\DroidExplorer\InstallPath, but the bootstrapper still tries to look in Wow6432Node because of the registry reflection. This is on all x64 systems.

为什么Windows和NBSP; Vista 64位唯一一个我有这个问题?有没有解决的办法吗?

Why is Windows Vista x64 the only one I have this issue with? Is there a way around this?

我只想补充编辑这仍然是开放的。下面没有的建议,还没有解决这个问题。

推荐答案

这是注册表重定向失败的Windows&NBSP事实上,Vista 64位是很奇怪的,因为根据MSDN,的注册表重定向 的,Windows和NBSP; Vista中也应受到它的影响。

The fact that registry redirection is failing on Windows Vista x64 is very strange because according to MSDN, Registry Redirector, Windows Vista should also be affected by it.

在另一个答案,这不工作,当我构建应用程序,它安装在64位PFILES x64版本的注释,它告诉我,我使用的是64位的安装目录,并没有按'T允许Win64中=没有的给我留下了有点困惑,你正在建设什么类型的MSI的。

A comment in another answer, "This does not work, when I build the x64 version of the application, that installs in the x64 PFiles, it tells me that I am using a 64-bit install directory and doesn't allow the Win64=no" left me a bit confused as to what type of MSIs you are building.

注册表重定向只会影响32位组件在MSI。如果目标平台的维克斯项目是86,然后将所得的MSI是一个32位的MSI和所有部件会受注册表重定向。

Registry redirection is only going to affect 32-bit components in your MSI. If the target platform for the WiX project is x86, then the resulting MSI is a 32-bit MSI and all components will be affected by registry redirection.

在另一方面,如果该维克斯项目的目标平台是64位,那么就会受注册表重定向的唯一部件将是那些被明确标记为Win64的=无。 (默认情况下,维克斯假定所有组件都是64位的,如果你的目标平台是64位。)

On the other hand, if the target platform of the WiX project is x64, then the only components that will be affected by the registry redirection will be those that are explicitly marked as Win64=no. (By default, WiX assumes that all components are 64-bit if your target platform is x64.)

请注意,如果您的注册表项所述组件包含所述ProgramFiles64文件夹内,然后将维克斯假设它是一个64位的分量,并且它不会受到注册表重定向。这是WiX的是不是允许你指定Win64上的原因=没有该组件。

Note that if the component for your registry entry is included inside the ProgramFiles64 folder, then WiX will assume that it is a 64-bit component, and it will not be affected by registry redirection. This is the reason WiX is not allowing you to specify Win64=no on that component.

您应该确认每一个包含你希望被重定向注册表项组件配置为使用PROGRAMFILES(32位的),因为它是在这两个您的x86和你的x64 MSI文件的父目录。

You should verify that every component that contains a registry entry that you do want to be redirected is configured to use ProgramFiles (the 32-bit one) as it's the parent directory in both your x86 and your x64 MSI files.

这篇关于为什么在Windows Vista x64上的86 WiX的安装程序不能写入键Wow6432Node注册表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆