CPATH using Java Compiler seems empty

CPATH using Java Compiler seems empty

5
NewbieNewbie
5

    Sep 23, 2011#1

    I'm trying to compile a Java project with UEStudio, but after some test seems that the value CPATH is empty.

    JDKv = $(HKEY_LOCAL_MACHINE\SOFTWARE$6432\JavaSoft\Java Development Kit\CurrentVersion)
    CPATH = $(HKEY_LOCAL_MACHINE\SOFTWARE$6432\JavaSoft\Java Development Kit\$(JDKv)\JavaHome)

    I looked with Regedit if the above keys are available, and of course they are, but the only way I found to compile is to write the absolute path of Java bin

    CPATH = C:\Program Files\Java\jdk1.6.0_24

    I'm running W7 Professional 64bit. Any suggestions to use the CPATH with access to hives?

    Thanks.

    6,680583
    Grand MasterGrand Master
    6,680583

      Sep 23, 2011#2

      I don't have the Java Developmet Kit installed. But it would be interesting where exactly you have seen the registry values:

      HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit

      or

      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit

      What happens when you remove variable $6432 from both registry paths or replace it by \Wow6432Node?

      5
      NewbieNewbie
      5

        Sep 23, 2011#3

        Thanks for suggestion. I tried to removed $6432 and replaced it with \Wow6432Node, but nothing changed.

        The paths I wrote in my first post is available in Build > Select Compiler > Java Compiler > Console Application and on the right-side you can see the configuration file. Those paths are available in section Variables.

        6,680583
        Grand MasterGrand Master
        6,680583

          Sep 23, 2011#4

          I know that the paths are from the configuration files as stored in UES program files directory\configs\Java Compiler\*application and which can be edited directly in UEStudio in the Select Compiler dialog.

          There must be something not working correct in your version of UES which is ? or the registry (permissions).

          A deep look inside would need to use free Process Monitor of SysInternals (Microsoft). After downloading and extracting it to a local directory, Procmon.exe must be started as Administrator.

          The first you see after start is the Process Monitor Filter dialog. Select in first dropdown list Path, select contains as second option, enter as path JavaSoft, let Include selected and press button Add. Press button OK.

          Run a Java compilation in UEStudio and then look on the process monitor log. What do you see? Can you see that UEStudio accesses the registry keys successfully?

          5
          NewbieNewbie
          5

            Sep 26, 2011#5

            Hi Mofi, thanks for your suggestion. I tried Process Monitor and found that UEStudio didn't get the correct keys from the Hive. When I run a Java build in ProcMon I see the following logs:

            Code: Select all

            uespawn.dat   5048   RegOpenKey   HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit   NAME NOT FOUND
            uespawn.dat   5048   RegOpenKey   HKLM\SOFTWARE\Wow6432Node\JavaSoft\Java Development Kit   NAME NOT FOUND
            As you can see the above keys are not correct and are different from those I have in my build configuration file. I tried to remove also $6432, but without success.

            Thanks.

            6,680583
            Grand MasterGrand Master
            6,680583

              Sep 26, 2011#6

              I think, I can't help further because of not having any computer running with a 64-bit processor respectively 64-bit Windows (to avoid troubles like this without any benefit on having a 64-bit architecture).

              There is the Microsoft article 32-bit and 64-bit Application Data in the Registry with links to Registry Redirector and Registry Reflection. It looks like it is not easy for a 32-bit application to access registry keys of a 64-bit application. And I suppose that you have installed the 64-bit version of the Java Development Kit. I assume that UEStudio does not use the KEY_WOW64_64KEY flag to get access to the 64-bit registry path of the Java Development Kit.

              I think, you better contact IDM support by email for that problem. I don't know if the IDM developers have implemented searches for 64-bit registry keys for any "compiler" if the 32-bit registry keys are not found because most compilers are only available as 32-bit applications.