Я столкнулся с проблемой в InstallScript для получения списка разделов реестра для 32- и 64-разрядных установок.
Моя машина - Windows Server 2008, 64-разрядная.Я могу установить 32-разрядную или 64-разрядную версию SQL Server 2008 на этом компьютере.
Теперь во время установки мне нужно знать, установлена ли какая-либо из версий SQL Server.
Насколько я понимаю,
- 64-битные приложения на 64-битной машине хранятся в
Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall
. - 32-битные приложения на 64-битной машине хранятся в
Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall
.
Я написал функцию, которая должна искать в обоих этих местах установку SQL Server, используя функцию RegDBQueryKey
.
Даже если я передам "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall"
в RegDBQueryKey
, в нем перечислены ключи Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Uninstall
.
Кто-нибудь может мне помочь с этой проблемой?