Как создать пользовательский раздел реестра «Программируемый» для 64-битной ОС с помощью редактора реестра VS2010 - PullRequest
0 голосов
/ 31 марта 2012

В представлении реестра я вручную создал ключ Programmable, используя следующий путь HKCR\CLSID\{MYGUID}\Programmable.Я думаю, что в 32-битных ОС проблем нет.

Однако в 64-битных ОС Programmable почему-то не хватает.Я думаю, что это, вероятно, как-то связано с перенаправлением реестра на 64-битной.Взглянув на реестр, я обнаружил, что CLSID\{MYGUID} на самом деле находится @ HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{MYGUID}, и нет ключа Programmable, созданного в {MYGUID}.

Так что мой вопрос - нужно ли указывать вручнуюProgrammable ключ @ HKLM\SOFTWARE\CLasses\Wow6432Node\CLSID\{MYGUID}\Programmable тоже?Нужно ли менять целевую платформу на x64?

1 Ответ

2 голосов
/ 31 марта 2012

Не совсем точно, что вы спрашиваете, но, похоже, вы столкнулись с проблемой, вызванной перенаправлением реестра 32-битного процесса в 64-битной Windows.

Эта проблема возникает только в 64-битной Windows. Если вашему приложению требуются некоторые значения в реестре, вы должны установить эти значения с помощью инструмента, который запускается с использованием «того же числа битов», что и ваше приложение. Например, вы можете использовать Regedit:

  • Ваше приложение является 32-битным приложением: используйте 32-битный Regedit (%SystemRoot%\SysWOW64\regedit.exe).

  • Ваше приложение является 64-битным приложением: используйте 64-битный Regedit (%SystemRoot%\regedit.exe).

Если по какой-то причине вы хотите использовать 64-битный инструмент для установки ключей и значений реестра для 32-битного приложения, вам необходимо понять, как осуществляется перенаправление реестра. Например, HKLM\Software перенаправляется на HKLM\Software\Wow6432Node. Подробности объясняются в статье службы поддержки Microsoft, ссылка на которую приведена выше.

...