Dokładniej chcę sprawdzić, czy Oracle ODP.Net jest zainstalowany na komputerze. Chcę to zrobić, testując klucz rejestru HKLM \ SOFTWARE \ ORACLE \ ODP.NET.W WiX jak przetestować istniejący klucz rejestru (nie wartość) dla Oracle ODP.Net
Rzeczywiste wartości używane przez ODP.Net są przechowywane w HKLM \ SOFTWARE \ ORACLE \ ODP.NET \ 2.111.6.20, ale zakładam, że nazwa klucza niższego poziomu zmieni się wraz z aktualizacją przez Oracle.
Próbowałem następujące, które zawiedzie, prawdopodobnie dlatego, że wartość (domyślna) tak naprawdę nie istnieje lub prawdopodobnie dlatego, że jest zerowy (nie jestem pewien dokładnie, jak jest reprezentowany w rejestrze).
<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>
Więc każdy z poniższych byłoby pomocne do mnie:
- Sposób, aby wyszukać klucz rejestru bez wartości pod nią.
- Sposób, aby wyszukać wartości rejestru przy użyciu ścieżki zawierającej symbole wieloznaczne
- lepszy sposób przetestować ODP.NET instalowany
Dzięki chłopaki! kiedyś działania własnego tak jak to tutaj opisano: [http://stackoverflow.com/a/1340107][1] [1]: http://stackoverflow.com/a/1340107 – Viktor
Przy okazji, aby uzyskać wartość domyślną, należy pominąć atrybut Name. –