02/09/2015 3843 views
I have tried to launch java program using launchappandwait function of installscript,(INSTALLSHIELD 2012 SPRING)
LaunchAppAndWait("java.exe", szEMS_Param, LAAW_OPTION_WAIT | LAAW_OPTION_HIDDEN); 
Function is working,however it tries to find java.exe in c:\windows\syswow64 instead of c:\programData\Oracle\Java\javapath
Due to this,i get the following error:

Environment'\CurrentVersion' has value '1.8', but '1.7' is required.

However, if i try to launch from cmd,its working fine and shows java version as 1.8 BECAUSE it first search in  c:\programData\Oracle\Java\javapath PATH variable.

If i go manually to c:\windows\syswow64 through cmd, i get the same error.

So, system behaviour seems fine but launchappandwait searching in syswow64.Please help in this.

I tried restarting system after java8 installation and checked PATH environment variable where c:\programData\Oracle\Java\javapath path is first one.

I am using jre 8u25 and 32-bit application.

Should i place java.exe in windows\syswow64 in jre8 msi?would this change effect anyway later in any scenario?

2 Comments   [ + ] Show comments


  • As I try to avoid InstallScript like the Plague, I can only guess but I'd say you have a PATH issue, connected with the 'bitness' of the InstallScript engine which gets executed. I'd say that, without an explicit path to the executable, the engine walks the 32-bit PATH. I wouldn't imagine that the 32-bit engine even knows that the C:\ProgramData... structure exists.

    As ever with script, always, always, always use explicit paths to files, both executable and data.

    Dropping JAVA.EXE to SysWow64 might not help, anyway, as JRE requires a shed-load of support files which would also need copying.
    • dropping java.exe in to syswow64 jre8 msi worked...!!!
      but in scenario,where jre8 already installed... i will stuck there....!!!
  • Good luck with remembering to undo this at upgrade time....

There are no answers at this time