You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Josh Soref (JIRA)" <ji...@apache.org> on 2013/11/19 22:55:23 UTC

[jira] [Created] (CB-5443) Handle installed 64 bit Java

Josh Soref created CB-5443:
------------------------------

             Summary: Handle installed 64 bit Java 
                 Key: CB-5443
                 URL: https://issues.apache.org/jira/browse/CB-5443
             Project: Apache Cordova
          Issue Type: Bug
          Components: BlackBerry
    Affects Versions: 3.2.0
         Environment: Java 7 x64 installed
Java 7 x86 _not_ installed
Node x86 installed and used to run cordova/cordova-blackberry
            Reporter: Josh Soref
            Assignee: Josh Soref
            Priority: Minor


Both Java 7 x86 and Java 7 x64 install "java.exe" into "%systemroot%\system32" however, "%systemroot%\system32" is magical on windows.

When Java 7 x86 installs "java.exe" into that directory, it's actually installing into %systemroot%\syswow64 and when another 32bit application (node) looks for java in its path, it sees %systemroot%\system32 which is in fact %systemroot%\syswow64 and thus finds java.exe

When Java 7 x64 installs "java.exe" into that directory, it's there, but when a 32bit node.exe looks at "%systemroot%\system32", it's actually checking %systemroot%\syswow64 and won't find Java.

This is all sorts of fun for end users "It says it can't find java?" "java is right there!".

Since java will generally be installed in one of two well known locations (under program files 32bit or program files 64bit), we can look for it there (if necessary) and add that to the path.

The limited portion of the packaging tools that we use don't care whether you're using Java 7, Java 6, 32bit or 64bit... So we can just try to select a Java from a well known location.



--
This message was sent by Atlassian JIRA
(v6.1#6144)