2010-10-14 7 views

ответ

3

Я не уверен, но могу сказать, что моя машина Windows 7 x64 имеет только последнюю. У меня есть HKEY_CURRENT_USER\Software\Wow6432Node\, но Classes не существует внутри этого для меня.

+1

Я предполагаю, что некоторые установки создан первый по ошибке. –

+0

У нас уже есть сотни машин WinXP на нашем рабочем месте.'Classes' установлен на всех из них, но ** не **' Wow6432Node'. – jp2code

2

Причина того, что ключ реестра «Wow6432Node» и другой ключ - это то, что на современных 64-битных машинах мы все еще запускаем 32-разрядные приложения. Microsoft, зная об этом, имеет в своем распоряжении всевозможные способы зеркалирования и схемы подстановки в реестре. Обычно это работает в ваших интересах.

Скажите, что вы пытаетесь зарегистрировать сом компонент в реестре в коде. Все, что вам нужно сделать, это попытаться поместить свои записи в ключ (рег путь), который, как вы думаете, вы хотите. Реестр выполнит этот запрос и обработает его (возможно, помещая его в подкаталог Wow6432Node).

Другими словами, 99% времени игнорируют «Wow6432Node». Особенно, если вы регистрируете вещи в реестре из кода. Если вы вручную включите «Wow6432Node» в свой путь, ваше приложение будет работать только на 64-битных машинах, которые являются единственными, кто использует этот путь рег.)

РЕЗЮМЕ: В нем окна помещают ваш 32-разрядный вещи на 64-битной машине !!!!!

+0

Я думаю, что ОП спрашивал, почему оба присутствовали, по-видимому, уже зная цель WOW6432 – Davy8

+1

Я не думаю, что оба присутствовали на одном ПК. Один из них присутствовал на более новом ПК, другой - на более старом ПК. Это усложняет ваших установщиков. – jp2code

5

Смотрите эту статью: Registry Keys Affected by WOW64

HKCU\Software\Classes\Wow6432Node является правильно: это перенаправлены местоположение, который доступен на 32-битных приложений, когда они просят HKCU\Software\Classes на 64-битной машине.

HKCU\Software\Wow6432Node\Classesне должно существовать. Если это произойдет, все, что написано, что ключ и его подразделы являются ошибками.

На самом деле, я думаю, что HKCU\Software\Wow6432Node не должен существовать - он не указан в этой статье, которую я связал выше и в моей системе. У меня есть только HKCU\Software\Wow6432Node\Microsoft\Active Setup\Installed Components с несколькими подразделами, что говорит мне о том, что они не в том месте.

+0

В статье, которую вы связываете, говорится, что '\ Wow6432Node \ Classes' связан с' \ Classes \ Wow6432Node' (для совместимости). Это, таким образом, предназначено. – patszim

+1

В нем говорится: «HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Classes' связан с« HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Wow6432Node' », но этот вопрос касается' HKEY_CURRENT_USER', а не 'HKEY_LOCAL_MACHINE'. – Rory

+0

Вы правы. Я пропустил это. – patszim

9

довольно поздно, но здесь я иду

Colin О'Делл пишет:

Я не уверен, но я могу вам сказать, что мой Windows 7 x64 машина имеет только последний. У меня есть HKEY_CURRENT_USER \ Software \ Wow6432Node \, но классов не существует внутри этого для меня.

И вы не должны, HKCU на самом деле указатель на ->HKUS\UserSid

Теперь HKCU\Software\Classes фактически указатель на ->HKUS\UserSid\Software\Classes, и это на самом деле один указатель на HKUS\UserSid_Classes

Сейчас здесь идет WOW перенаправление, и, например HKCU\Software\Classes\CLSID становится: HKUS\UserSid_Classes\Wow6432Node\CLSID

разве это не весело?

Короче говоря, HKEY_CURRENT_USER\Software\Wow6432Node\Classes является наиболее вероятно, пережитком после некоторого плохое поведение приложения (что, вероятно, пытаясь выяснить, переназначение сам по себе ...)

jp2code пишет:

У нас уже есть сотни машин WinXP на нашем рабочем месте. Классы устанавливается на все из них, но не WOW6432Node

Не вы, возможно, говоря о 32-разрядной Win XP? если это так, то это совершенно очевидно, нет ни одного узла Wow ...

0

У меня нет объяснений для подраздела «Классы», и я не вижу его на своих собственных машинах, но HKCU ... Wow6432Node сбивает себя с толку поскольку он не связан с перенастройкой реестра и не указан в документе «Домены реестра, зависящие от WOW64» MSDN. Мне интересно, ссылался ли OP на теоретический дочерний подраздел «Классы» «Wow6432Node».

"Active Setup" is a reason that HKEY_CURRENT_USER\Software\Wow6432Node may exist. установщики иногда требуется для каждого пользователя модификации для запуска, когда пользователь осуществляет входит в систему.

При входе, чтобы обнаружить такие изменения, необходимые для 32-битных приложений на 64-битных ОС Windows, Windows сравнивает [HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ Active Setup \ Installed Components {GUID}] - [HKCU \ Software \ Wow6432Node \ Microsoft \ Active Setup \ Installed Components {GUID}].

Если раздел HKLM GUID не также в аналогичном месте HKCU, Windows выполняет операции по установке и копирует информацию [HKCU \ Software \ Wow6432Node \ Microsoft \ Active Setup ~ \ Installed Components] (так что установка операции не повторяются).

Итак, часть «Wow6432Node» HKCU ... subkey ID - это только текст, который соответствует части HKLM ... subkey.

1

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Классы связана с HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ Wow6432Node

Вы можете прочитать в нижней части this article.