Más específicamente, quiero probar si Oracle ODP.Net está instalado en una máquina. Quiero hacer esto probando la clave de registro HKLM \ SOFTWARE \ ORACLE \ ODP.NET.En WiX, ¿cómo puedo probar la existencia de una clave de registro (no de valor) para Oracle ODP.Net
Los valores reales utilizados por ODP.Net se almacenan en HKLM \ SOFTWARE \ ORACLE \ ODP.NET \ 2.111.6.20. Sin embargo, supongo que el nombre de esta clave de nivel inferior cambiará a medida que Oracle publique las actualizaciones.
He intentado lo siguiente que falla, posiblemente porque el valor (predeterminado) realmente no existe o posiblemente porque es nulo (no estoy seguro de cómo se representa exactamente en el registro).
<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>
Así que cualquiera de los siguientes sería útil para mí:
- Una manera de buscar una clave de registro sin valores por debajo de ella.
- Una manera de buscar un valor de registro utilizando una ruta que contiene comodines
- Una mejor manera de probar la ODP.Net están instalando
Gracias chicos! que utiliza la acción personalizada como se describe aquí: [http://stackoverflow.com/a/1340107][1] [1]: http://stackoverflow.com/a/1340107 – Viktor
Por cierto, para obtener el valor predeterminado, debe omitir el atributo de nombre. –