0 Replies Latest reply: Oct 25, 2006 2:40 PM by 843804 RSS

    Registering a axbridge dll to a custom location

    843804
      I'm having problems deploying my axbridge bean to a client machine. I have referenced the topic:

      Distributing and registering to a custom location posted by gassadev in Oct of 2004.

      This topic has provided invaluable help in understanding how the Java Beans Bridge for ActiveX works with respect to registration but still does not completely bridge the gap between developing and deploying an axbridge generated ActiveX component.

      The problem as stated in that topic, is that if I install an axbridge component on a client machine as described in the ActiveX Bridge Developer Guide, the component will no longer work if the JRE is upgraded.

      The required path is:
         <jre home>\axbridge\bin\CSTAConnection.dll
      
         <jre home>\axbridge\lib\csta.jar
      If I copy the axbridge.dll to another deployment location and copy everything that lives under the axbridge folder and register using regsrv32 everything registers as expected and on my development machine the axbridge component actually works as expected.
         <delpoyment folder>\axbridge\bin\CSTAConnection.dll
      
         <delpoyment folder>\axbridge\lib\csta.jar
      
         <delpoyment folder>\bin\axbridge.jar
      However, if I delopy to a virgin client machine with jre 1.5.0_06 and register CSTAConnection.dll using regsvr32 I get no errors during registration but when I try to run the VB exe (CSTAProject.exe) nothing happens. I can go to the Application Event Viewer in windows and I get the following error:

      Faulting application CSTAProject.exe, version 1.0.0.0, faulting module axbridge.dll, version 5.0.70.3, fault address 0x0000268c.

      For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

      Now if I go to the regedit and modify the following:
      HKEY_CLASSES_ROOT\CLSID\{04D6AEEC-0913-4268-9389-146D6F9A3B79}\InProcServer32\ = C:\Program Files\Java\jre1.5.0_06\bin\axbridge.dll
      In other words, define InProceServer32 for the CSTAConnection.dll as axbridge.dll in the currently active jre folder the application works as expected.

      Why can't the CSTAConnection.dll reference axbridge.dll unless it is called from the jre home folder? Do I have some sort of permissioning problem? Seems to me that I should be able to reference that dll anywhere I need to.

      Any insight as to why this is happening or hint at a better work around would be greatly appreciated.

      Cheers ;)