tags:

views:

37

answers:

1

I'm trying to get JAB working so I can scrape some text out of a java window, but its failing horribly.

The odd thing is that while it doesn't work on my machine it does work on other machines.

My machine: 7, 64bit
Works on: 7 32bit (2 boxes tested), XP 32bit

The common thing appears that if you don't install the JAB setup application from Sun, as I haven't done on my dev machine, it doesn't work. If you do install the setup application, it appears to work.

Process Monitor doesn't show that any DLLs cannot be located during execution.

Has anyone encountered this issue before? Is the only solution to install the binaries from Sun? Is there any way around this?

A: 

Finally got it working. Hard to know what's going on when Java swallows exceptions. Thanks, Java, for being so lousy! Steps to JAB on a 64bit box:

  1. Download latest version of the JAB MANUAL INSTALL package: http://java.sun.com/javase/technologies/accessibility/accessbridge/index.jsp
  2. Update Java if you haven't. Don't be a jerk.
  3. Unblock the zip if you haven't and then unzip to some folder
  4. Get thee into the InstallerFiles directory you just unzipped
  5. Move all DLL files into %SystemRoot%\sysWow64. Files are: JavaAccessBridge.dll, JAWTAccessBridge.dll, WindowsAccessBridge.dll
  6. Move the required .jar files into the specified java folder. If you are running JRE6 you are copying jaccess-1_4.jar and access-bridge.jar to c:\program files (x86)\java\jre6\lib\ext. Depending on when you read this you might have to check the docs to figure out what jar files to place in what locations. Sucks, I know.
  7. Move the file accessibility.properties to the root directory of the JRE: c:\program files (x86)\java\jre6\lib. FAILURE TO DO THIS BREAKS JAB. If you place this file in the lib folder it will not work. This is the twist that will screw you for two days.
  8. Don't bother altering your Path system variable. It doesn't matter on 64bit XP or 7. Its cargo-cult BS.

Now go find that JavaMonkey awful test app that swallows exceptions and disappears without giving you ANY REASON or putting ANY INFORMATION IN ITS OWN FRIGGING LOG FILE and see if you can plumb the depths of a sample Java applet.

If anything, number 7 is going to screw up more people than any of them as the documentation isn't clear as to where this file goes.

Will