Условия установки JRE не работают должным образом - PullRequest
0 голосов
/ 24 мая 2018

Я написал установщик, используя wix.Я пытаюсь проверить, установлена ​​ли JRE на компьютере.В основном работает нормально, но некоторые случаи (некоторые пользовательские машины) не работают должным образом, и установка не может быть успешно завершена, потому что wix не может найти JRE.

Поиск JRE и код условия:

<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 Releatedto "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

Также я проверяю записи реестра (HKLM \ SOFTWARE \ JavaSoft \ Java Runtime Environment) и выглядит правильно.Я не могу найти причину, по которой не могу определить JRE.

Чего мне не хватает?

...