JavaRelease.st
changeset 3398 579f0f85063a
parent 3389 5e24f9add064
child 3399 673ed393d7b3
equal deleted inserted replaced
3397:47437b9625e1 3398:579f0f85063a
       
     1 "{ Encoding: utf8 }"
       
     2 
     1 "
     3 "
     2  COPYRIGHT (c) 1996-2015 by Claus Gittinger
     4  COPYRIGHT (c) 1996-2015 by Claus Gittinger
     3 
     5 
     4  New code and modifications done at SWING Research Group [1]:
     6  New code and modifications done at SWING Research Group [1]:
     5 
     7 
   771     "Modified: / 08-12-2014 / 00:16:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   773     "Modified: / 08-12-2014 / 00:16:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   772 !
   774 !
   773 
   775 
   774 javaHomeOnWindowsFromRegistryForRelease: vsn
   776 javaHomeOnWindowsFromRegistryForRelease: vsn
   775     "Return path to java home (either JDK or JRE) based on values in registry.
   777     "Return path to java home (either JDK or JRE) based on values in registry.
   776      If not on windows or registry key not found, return nil"
   778      If not on windows or registry key not found, return nil. 
       
   779 
       
   780      CAVEAT: This method only finds Oracle JDKs"
   777 
   781 
   778     |entry home |
   782     |entry home |
   779 
   783 
   780     OperatingSystem isMSWINDOWSlike ifFalse:[ ^ nil ].
   784     OperatingSystem isMSWINDOWSlike ifFalse:[ ^ nil ].
   781     "Search for JDK first..."
   785     "Search for JDK first, prefer 46 bit over 32 bit (even though it does not matter for STX:LIBJAVA)"
   782     entry := (OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\', vsn).
   786     entry := OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\', vsn flags: #KEY_WOW64_64KEY.
       
   787     entry isNil ifTrue:[ 
       
   788         entry := OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\', vsn flags: #KEY_WOW64_32KEY.
       
   789     ].
       
   790     "Search for JRE...."
       
   791     entry isNil ifTrue:[ 
       
   792         entry := OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\', vsn flags: #KEY_WOW64_64KEY.
       
   793     ].
       
   794     entry isNil ifTrue:[ 
       
   795         entry := OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\', vsn flags: #KEY_WOW64_32KEY.
       
   796     ].
   783     entry notNil ifTrue:[
   797     entry notNil ifTrue:[
   784         home := entry valueNamed:'JavaHome'.
   798         home := entry valueNamed:'JavaHome'.
   785         (home notNil and:[home asFilename exists]) ifTrue:[ ^ home ].
   799         (home notNil and:[home asFilename exists]) ifTrue:[ ^ home ].
   786     ].
   800     ].
   787     "Search for JRE...."
   801     ^ nil
   788     entry := (OperatingSystem registryEntry key:'HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\', vsn).
   802 
   789     entry notNil ifTrue:[
   803     "
   790         home := entry valueNamed:'JavaHome'.
   804     JavaRelease::OracleJDK7 new searchForJavaHome
   791         (home notNil and:[home asFilename exists]) ifTrue:[ ^ home ].
   805     JavaRelease::OracleJDK8 new searchForJavaHome
   792     ].
   806     "
   793 
       
   794     ^nil
       
   795 
   807 
   796     "Created: / 16-02-2013 / 02:52:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   808     "Created: / 16-02-2013 / 02:52:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   797     "Modified: / 21-02-2013 / 03:51:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   809     "Modified: / 21-02-2013 / 03:51:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   798     "Modified: / 20-02-2015 / 14:26:10 / jv"
   810     "Modified (comment): / 13-03-2015 / 15:41:40 / jv"
   799 !
   811 !
   800 
   812 
   801 javaHomeOrNil
   813 javaHomeOrNil
   802     "Answer a Java home"
   814     "Answer a Java home"
   803     
   815