В частности, я хочу проверить, установлен ли Oracle ODP.Net на машине. Я хочу сделать это, протестировав раздел реестра HKLM\SOFTWARE\ORACLE\ODP.NET.
Фактические значения, используемые ODP.Net, хранятся в HKLM\SOFTWARE\ORACLE\ODP.NET\2.111.6.20, однако я предполагаю, что это имя нижнего уровня будет изменяться по мере выпуска обновлений Oracle.
Я пробовал следующее, что не удается, возможно, потому что значение (по умолчанию) действительно не существует или возможно потому, что оно равно null (я точно не знаю, как это представлено в реестре).
<Property Id="ORACLE_ODPNET">
<RegistrySearch Id="ODPNET_RegKey" Type="raw" Root="HKLM" Key="SOFTWARE\ORACLE\ODP.NET" Name="(Default)"/>
</Property>
<Condition Message="This setup requires ODP.Net to be installed.">
Installed OR ORACLE_ODPNET
</Condition>
Таким образом, любое из следующих было бы полезно для меня:
- Способ поиска ключа реестра без значений под ним.
- Способ поиска значения реестра используя путь, содержащий подстановочные знаки
- Лучший способ тестирования для ODP.Net установка