2010-01-06 2 views
5

На 64-битной платформе установленная проверка не выполняется для служб и надстроек SQL Reporting Services. Установщик проверяет записи реестра по пути «HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Microsoft SQL Server \ Instance Names», а запись реестра доступна там, но поскольку MS SQL Server является 64-разрядным приложением, поэтому установщик перенаправляется на путь «HKEY_LOCAL_MACHINE \ Software \ WOW6432node \ Microsoft \ Microsoft SQL Server \ экземпляры имен», и нет записей для них. Таким образом, проверка установки не выполняется.Отключить перенаправление реестра для ключа реестра на платформе x64

Обход проблемы: я проверил его вручную, создав записи в разделе «HKEY_LOCAL_MACHINE \ Software \ WOW6432node \ Microsoft \ Microsoft SQL Server \ экземпляры имен \ RS», после чего проверка установки прошла успешно.

Одним словом, на платформе x64 установленная проверка относится к разделам реестра WOW6432node, а не к 64-разрядным.

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

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

Как исправить эту проблему?

+0

Возможно: * [Отключить перенаправление реестра в WiX] (http://stackoverflow.com/questions/5947372) * –

+0

И * [Почему установщик x86 WiX в Windows Vista x64 не записывает ключи в Wow6432Node в реестре ?] (http://stackoverflow.com/questions/2933602) * –

ответ

6

Корпорация Майкрософт опубликовала информацию о Registry Reflection, которая содержит описание KEY_WOW64_64KEY для RegOpenKeyEx.

+0

Спасибо. Теперь вот другая проблема для WIX: через WIX, когда я извлекаю путь установки для 64-битных компонентов, обратившись к его разделу реестра, из-за перенаправления реестра он перенаправляется на WOW6432node, где ключей реестра не существует. Итак, через WIX, есть ли какой-нибудь способ взглянуть на 64-битный просмотр реестра только с одним созданием MSI? Насколько я знаю, компонент должен быть отмечен как Win64 = «да», чтобы заставить записи реестра записываться в 64-битном кустах реестра вместо куста реестра WOW64. Любые другие предложения? – user223572

3

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

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

Смежные вопросы