Реестр под 64-разрядной Windows

Реестр 64-разрядных версий Windows подразделяется на 32- и 64-разрядные разделы.

Большинство 32-разрядных разделов имеют те же имена, что и их аналоги в 64-разрядном разделе, и наоборот.

В 32-разрядной Windows приложения обращаются к ключам реестра

HKEY_LOCAL_MACHINE\SOFTWARE\<company>\<product>

В 64-разрядной Windows когда 32-разрядные приложения обращаются к реестру

HKEY_LOCAL_MACHINE\SOFTWARE\<company>\<product>

они на самом деле обращаются к ветке

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\<company>\<product>

По умолчанию в 64-разрядных версиях Windows используется отображение (“registry reflector”) 32-разрядных разделов в узле WOW6432Node. Процесс отображения прозрачен для 32-разрядных приложений, т.е. они могут получать доступ к разделам реестра так, как будто бы они работали в 32-битном окружении несмотря на то, что данные хранятся в другом месте.

Наблюдалась особенность отражения в 64-разрядный ключ: если очищалось значение ключа в 32-разрядной ветке, по какой-то причине не происходил автоматический сброс этого значения в 64-разрядной ветке.

Reports 6i под Windows 7

Последняя версия клиент-серверных приложений Oracle Developer 6i вполне нормально живет под Windows 7.

Единственная проблема возникла под 64-разрядной версией Windows 7, при которой из форм невозможно было вызвать отчет.

Методика решения ее очень проста, надо заменить всего две dll, а именно: NN60.dll и NNB60.dll, которые можно взять из Oracle Developer 6i Patch 3, или задать в критериях поиска наименования этих двух файлов.