I have written an installer using wix. I try to check if JRE is installed on computer. Mostly works fine but some cases (some user machines) does not work properly and installation cannot complete successfully because wix cannot find JRE.
JRE search and condition code:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
.....
<Product ...... >
.....
<Property Id="JREINSTALLED">
<RegistrySearch Id="JRE_CURRENT_VERSION_REGSEARCH" Root="HKLM" Key="SOFTWARE\JavaSoft\Java Runtime Environment" Name="CurrentVersion" Type="raw" Win64="no" />
</Property>
<Condition Message="Java Runtime Environment (32 Bit) is not installed. Please install Oracle JRE."><![CDATA[(JREINSTALLED)]]></Condition>
......
</Product>
</Wix>
MSI Log Releated to "JREINSTALLED":
.....
AppSearch: Property: JREINSTALLED, Signature: JREINSTALLED_REGSEARCH
.....
PROPERTY CHANGE: Adding JREINSTALLED property. Its value is '1.8'.
.....
Switching to server: JREINSTALLED="1.8" INSTALLDIR="C:\Program Files (x86)\MyProgram\" TARGETDIR="D:\" PREVIOUSVERSIONSINSTALLED="{08636CF5-D7C4-42FD-85D8-ED21227632AE}" ALLUSERS="1" CURRENTDIRECTORY="C:\Users\dreamcatcher" CLIENTUILEVEL="0" CLIENTPROCESSID="3968" PRODUCTLANGUAGE="1055" USERNAME="menemine.cart" COMPANYNAME="SCCM06S01" SOURCEDIR="C:\Windows\ccmcache\d\" EXECUTEACTION="INSTALL" ACTION="INSTALL" ROOTDRIVE="D:\" INSTALLLEVEL="1" SECONDSEQUENCE="1" ADDLOCAL=DefaultFeature
.....
Command Line: JREINSTALLED=1.8 INSTALLDIR=C:\Program Files (x86)\MyProgram\ TARGETDIR=D:\ PREVIOUSVERSIONSINSTALLED={08636CF5-D7C4-42FD-85D8-ED21227632AE} ALLUSERS=1 CURRENTDIRECTORY=C:\Users\dreamcatcher CLIENTUILEVEL=0 CLIENTPROCESSID=3968 PRODUCTLANGUAGE=1055 USERNAME=dreamcatcher COMPANYNAME=SCCM06S01 SOURCEDIR=C:\Windows\ccmcache\d\ EXECUTEACTION=INSTALL ACTION=INSTALL ROOTDRIVE=D:\ INSTALLLEVEL=1 SECONDSEQUENCE=1 ADDLOCAL=DefaultFeature ACTION=INSTALL
.....
Ignoring disallowed property JREINSTALLED
.....
Property(C): JREINSTALLED = 1.8
Also I check Registry records (HKLM\SOFTWARE\JavaSoft\Java Runtime Environment) and looks right. I cannot find any reason for cannot determine JRE.
What am i missing?