На 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 и связанные с ним функции в качестве альтернативы для перенаправления реестра, но с моей стороны это не сработало.
Как я могу решить эту проблему?