Отключение перенаправления реестра для раздела реестра на платформе x64 - PullRequest
5 голосов
/ 06 января 2010

На 64-разрядной платформе не удается установить проверку для служб отчетов и надстроек SQL. Установщик проверяет записи реестра по пути «HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Microsoft SQL Server \ Имена экземпляров», и запись реестра доступна там, но поскольку MS SQL Server является 64-разрядным приложением, установщик перенаправляется на путь "HKEY_LOCAL_MACHINE \ Software \ WOW6432node \ Microsoft \ Microsoft SQL Server \ Имена экземпляров" и для него нет записей. Таким образом, проверка установки не удалась.

Обходной путь: я протестировал его, создав вручную записи в "HKEY_LOCAL_MACHINE \ Software \ WOW6432node \ Microsoft \ Microsoft SQL Server \ Instance Names \ RS" и после этого проверка установки прошла успешно.

Короче говоря, на платформе x64 при установленной проверке используются ключи реестра из узла WOW6432, а не 64-разрядные.

Итак, как я могу заставить мой 32-разрядный установщик получить доступ к 64-разрядным реестрам для правильной проверки установленного?

Я пробовал RegDisableReflectionKey и связанные с ним функции в качестве альтернативы для перенаправления реестра, но с моей стороны это не сработало.

Как я могу решить эту проблему?

Ответы [ 2 ]

6 голосов
/ 11 января 2010

Microsoft опубликовала информацию о Отражение реестра , которое включает в себя описание KEY_WOW64_64KEY для RegOpenKeyEx.

3 голосов
/ 11 января 2010

правый. Доступ к альтернативному представлению реестра - это ответ. Что ж, это не отключит перенаправление реестра, но поможет в правильной проверке установки.

Я обработал эту проблему в установщике, заставив его просматривать 64-битное представление реестра при проверке установки для 64-битного компонента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...