Solved

Using Java environment variables to point to alternate Java folder

Posted on 2013-05-17
9
311 Views
Last Modified: 2013-06-18
My company's software utilizes Java Access bridge to function correctly.

We found that every time that Java updates itself, we have to once again re-install the Access Bridge components.

Is there a way to use an environment variable to point to either the Java Access Bridge or Java JRE to a folder that I can protect from getting updated?
0
Comment
Question by:James_Clements
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 2
  • 2
9 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 39175447
I thought i'd already answered this question ...
0
 

Author Comment

by:James_Clements
ID: 39175569
Your suggestion was that the Java Access bridge documentation was incorrect.  It did not help with our customer.  I need a solution to help this customer.

Currently, we are considering a batch file that can somehow check appropriate folders for Java Access Components and reinstall if necessary on startup but the exact parameters for such a file have not been laid out yet.
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 39175681
Your suggestion was that the Java Access bridge documentation was incorrect.  I
No - that wasn't my suggestion. My suggestion was to install a JDK
0
Turn your laptop into a mobile console!

The CV211 Laptop USB Console Adapter provides a direct Laptop-to-Computer connection for fast and easy remote desktop access with no software to install.

 

Author Comment

by:James_Clements
ID: 39175772
We did try installing the JDK but it is not clear how to use the folder and whether or not that folder will be updated automatically.
0
 
LVL 1

Expert Comment

by:dcpetersonp
ID: 39192091
If you're using Java7 update 6, access bridge comes bundled which should make it easier to manage.
https://www.ssbbartgroup.com/blog/2012/08/30/jre-7-update-6-now-comes-bundled-with-the-java-access-bridge/
0
 

Author Comment

by:James_Clements
ID: 39211208
That was an interesting find but attempts to use this function were not successful.  We saw confirmation that java bridge was enabled as it says but using our software was not successful until we manually copied the JavaAccessbridge files themselves.  

We have prepared a very extensive batch file to find the correct Juice folder and to also check the registry for the Java installed files so we can update both locations.  I'll post it up once we are sure it is working successfully.
0
 

Accepted Solution

by:
James_Clements earned 0 total points
ID: 39245177
This is the batch file we went with:

    @echo on
    cd /d %~dp0

    rem case sensitive jre - finds juice Java folder and puts to temp.txt into temp folder
    :CHKFLEX
    set temp1=%LOCALAPPDATA%\Juice\Flex
    dir /AD /b %temp1% | find "jre" > %temp%\temp.txt

    rem didnt find the jre folder in juice
    if %errorlevel% NEQ 0 goto notfound

    rem create environment variable to path found and written to temp.txt
    for /f "delims=" %%x in (%temp%\temp.txt) do set temp2=%%x

    rem path to juice subfolder created
    set temp1
    set temp2
    set "_prog=%temp1%\%temp2%"

    rem copy if files aren't there already
    :x86
    Set JAVAHOME32=%_prog%
    @echo on
    if exist "%JAVAHOME32%\bin\JavaAccessBridge-32.dll" goto theend
    copy WindowsAccessBridge-32.dll    %WINDIR%\SYSTEM32
    copy JavaAccessBridge-32.dll       %JAVAHOME32%\bin
    copy JAWTAccessBridge-32.dll       %JAVAHOME32%\bin
    copy accessibility.properties   %JAVAHOME32%\lib
    copy access-bridge-32.jar       %JAVAHOME32%\lib\ext
    copy jaccess.jar          %JAVAHOME32%\lib\ext

    goto theend

    rem Juice JRE folder not found
    :notfound
    echo "Alternate JRE folder not found..."

    :theend
    pause

Although we did have a more advanced batch file that can copy to both the Juice folder and to the Java folder by checking the registry for the java home path.  Here is that one:

    @echo on
    cd /d %~dp0

    :REGVAL
    FOR /F "skip=2 tokens=2*" %%A IN ('REG QUERY "HKLM\Software\JavaSoft\Java Runtime     Environment" /v CurrentVersion') DO set CurVer=%%B
    FOR /F "skip=2 tokens=2*" %%A IN ('REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\% CurVer%" /v JavaHome') DO set JAVA_HOME=%%B
    Set JAVA_HOME

    :CHKFLEX
    set temp1=%LOCALAPPDATA%\Juice\Flex
    dir /AD /b %temp1% | find "JRE" > %temp%\temp.txt

    if %errorlevel% NEQ 0 goto notfound

    for /f "delims=" %%x in (%temp%\temp.txt) do set temp2=%%x

    set temp1
    set temp2
    set "_prog=%temp1%\%temp2%"

    pause

    if not exist "%systemdrive%\Program Files (x86)" (
        goto x86
    ) else (
        goto x64
    )

    :x86
    Set JAVAHOME32=%_prog%
    @echo on
    if exist "%JAVAHOME32%\bin\JavaAccessBridge-32.dll" goto x86_next
    copy WindowsAccessBridge-32.dll    %WINDIR%\SYSTEM32
    copy JavaAccessBridge-32.dll       %JAVAHOME32%\bin
    copy JAWTAccessBridge-32.dll       %JAVAHOME32%\bin
    copy accessibility.properties   %JAVAHOME32%\lib
    copy access-bridge-32.jar       %JAVAHOME32%\lib\ext
    copy jaccess.jar          %JAVAHOME32%\lib\ext

    :x86_next
    if exist "%JAVA_HOME%\bin\JavaAccessBridge-32.dll" goto theend
    copy JavaAccessBridge-32.dll %JAVA_HOME%\bin
    copy JAWTAccessBridge-32.dll %JAVA_HOME%\bin
    copy accessibility.properties %JAVA_HOME%\lib
    copy access-bridge-32.jar %JAVA_HOME%\lib\ext
    copy jaccess.jar          %JAVA_HOME%\lib\ext

    goto theend


    :x64
    Set JAVAHOME32=%_prog%
    Set JAVAHOME64=%_prog%
    @echo on
    if exist "%JAVAHOME64%\bin\JavaAccessBridge-64.dll" goto x64_next
    copy WindowsAccessBridge-32.dll %WINDIR%\SYSWOW64
    copy WindowsAccessBridge-64.dll %WINDIR%\SYSTEM32
    copy JavaAccessBridge-64.dll    %JAVAHOME64%\bin
    copy JAWTAccessBridge-64.dll    %JAVAHOME64%\bin
    copy accessibility.properties   %JAVAHOME32%\lib
    copy access-bridge-64.jar       %JAVAHOME64%\lib\ext
    copy jaccess.jar %JAVAHOME64%\lib\ext

    :x64_next
    if exist "%JAVA_HOME%\bin\JavaAccessBridge-64.dll" goto theend
    copy JavaAccessBridge-64.dll    %JAVA_HOME%\bin
    copy JAWTAccessBridge-64.dll    %JAVA_HOME%\bin
    copy accessibility.properties   %JAVA_HOME%\lib
    copy access-bridge-64.jar       %JAVA_HOME%\lib\ext
    copy jaccess.jar %JAVA_HOME%\lib\ext
    goto theend

    :notfound
      echo "not found..."

    FOR /F "skip=2 tokens=2*" %%A IN ('REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment" /v CurrentVersion') DO set CurVer=%%B
    FOR /F "skip=2 tokens=2*" %%A IN ('REG QUERY "HKLM\Software\JavaSoft\Java Runtime Environment\%CurVer%" /v JavaHome') DO set JAVA_HOME=%%B

    set CurVer
    Set _prog=%JAVA_HOME%
    set _prog

    if not exist "%systemdrive%\Program Files (x86)" (
        goto x86
    ) else (
       goto x64
    )


    :theend
0
 
LVL 1

Expert Comment

by:dcpetersonp
ID: 39245393
out of curiosity, did you try the latest java 7 or did you only try j7u6?
0
 

Author Closing Comment

by:James_Clements
ID: 39255608
Took longer than expected to resolve this.
0

Featured Post

Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When asking a question in a forum or creating documentation, screenshots are vital tools that can convey a lot more information and save you and your reader a lot of time
This article provides a convenient collection of links to Microsoft provided Security Patches for operating systems that have reached their End of Life support cycle. Included operating systems covered by this article are Windows XP,  Windows Server…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…
Finding and deleting duplicate (picture) files can be a time consuming task. My wife and I, our three kids and their families all share one dilemma: Managing our pictures. Between desktops, laptops, phones, tablets, and cameras; over the last decade…
Suggested Courses

632 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question