Distributing and registering to a custom location

My VB application uses an axbridge bean dll and I want to register it on a client's machine.
(Call it MyBean.dll and its associated jar MyBean.jar)
As I understand it, it has to be registered this way...
1. create a directory called "axbridge" under the Java Runtime Environment installation directory (if not already)
2. copy MyBean.dll to there
3. run regsvr32 to register it (which puts MyBean.jar into the "lib" directory)
I understand it uses axbridge.dll which is in JRE\bin, so the total directory structure is this...
\JRE
    \axbridge
        \bin
            MyBean.dll
        \lib
            MyBean.jar
    \bin
        axbridge.dllMy question is this... does all of this need to be under the JRE directory?
Could I put the axbridge and bin directories somewhere else (the bin directory containing axbridge.dll) and register from there?
I ask this because when JRE installs it defaults to a directory named (eg.) JRE1.4.2_05 (or something like that). But what happens when the client uninstalls JRE1.4.2 and installs JRE1.5.0 (for example)? Do my dll/jar files remain and still work OK? And even if they do, it would be 'safer' if my files were under my application's installation directory, in case the client sees these files in the middle of nowhere (in a long-since-removed JRE location) and deletes them.
Lastly, if it does work in a custom location, am I allowed to do that? Specifically, am I allowed to distribute axbridge.dll myself, so my installation program knows where to find it?
Any comments would be great. Thanks.

You are in luck as I have been actively dissecting the ActiveX Bridge for a project I am working on.
I'll talk about this high-level to begin with. Using the packager tool to create the DLL, the answer is "Yes." The JavaBean ActiveX DLL has to be in the <jre>\axbridge\bin directory. The way the packager creates the DLL, it will only register itself if it resides in the <jre>\axbridge\bin directory. I guess you didn't try it, but moving the DLL somewhere else and running regsvr32 will fail with 0x80004005 Unspecified Error
To answer your other question if the client uninstalls one JRE and installs a new version, your ActiveX JavaBean will break. First because the uninstaller might remove the axbridge directory (not sure about this behavior). Secondly, because it will definitely remove the axbridge.dll in the <jre>\bin directory. The axbridge.dll is required for any ActiveX JavaBean.
Which brings me to the more detailed description of what is going on. The DLL created by the packager turns out only to hold only the TypeLib and the COM register / unregister methods (DllRegisterServer and DllUnregisterServer) that are invoked by regsvr32. When regsvr32 is ran it calls DllRegisterServer, which contains the code to actually register the object. This is implemented specifically for any given COM object usually by the COM object. If you take a look at these entries in the registry (or use oleview.exe) you will see that the actual COM InProcServer32 is axbridge.dll not the DLL created by the packager tool.
So to reiterate, the DLL created by packager is not the actual COM object used. It just contains the registration code used by regsvr32 and the type library.
Knowing how the system work one can attempt to change it. There are a few alternatives. One solution is to write your own DLL exporting DllRegisterServer and DllUnregisterServer and implement your own registration. You will have to look at what the DLL created by the packager does so you can include specific entries. This way you can control exactly where the DLL resides, where the axbridge.dll resides and a myriad of other COM related things.
Another solution would be to create and register the DLL created by the packager and follow up afterwards and change entries. Below are the most relevant entries. Your GUID will be something different of course. I specified {E9327EFF-770C-49A3-B38D-7E419A8EDFD1} when I ran packager.
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E9327EFF-770C-49A3-B38D-7E419A8EDFD1}\InprocServer32
@="C:\\PROGRA~1\\Java\\J2RE14~1.2_0\\bin\\axbridge.dll"
"ThreadingModel"="Apartment"As you can see the axbridge.dll is what is actually used for the COM server.
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E9327EFF-770C-49A3-B38D-7E419A8EDFD1}\JarFileName
@="C:\\PROGRA~1\\Java\\J2RE14~1.2_0\\axbridge\\lib\\AXBridgeBeanTest.jar"This entry tells the axbridge.dll where to find the jar file.
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E9327EFF-770C-49A3-B38D-7E419A8EDFD1}\JavaClass
@="com.advoxis.bean.AXBridgeBeanTest"This entry tells the axbridge.dll what the name of your bean is.
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E9327EFF-770C-49A3-B38D-7E419A8EDFD1}\TypeLib
@="{E9327F00-770C-49A3-B38D-7E419A8EDFD1}"All this is is the key for the typlib. Follow this to change where the DLL that the packager created resides
HKEY_CLASSES_ROOT\TypeLib\{E9327F00-770C-49A3-B38D-7E419A8EDFD1}\1.0\0\win32
@="C:\\PROGRA~1\\Java\\J2RE14~1.2_0\\axbridge\\bin\\AXBRID~1.DLL"This is the location of the DLL created by the packager that resides in the <jre>/axbridge/bin directory. Update this if the DLL needs to be in a different location.
Probably way more than you wanted to know but I wanted to put some documentation out there for the community. For some reason the ActiveX Bridge is poorly documented compared to other Java technologies. Most documents I found where ancient. I don't know why this technology is so neglected as it is actually quite cool once I figured out how it was really working and how I could exploit it.
NOTE TO SUN: I'm really disappointed the packager tool hides EVERYTHING about creating the supposed "ActiveX Control" for the bean. The packager creates an IDL file in the temp directory and deletes it. Why not keep that file around as a generated file that more advanced developers could modify and use? In fact, why not generate C++ code for the implemented DllRegisterServer and DllUnregisterServer? Still better yet, document how the axbridge.dll really works and all the specific registry settings (e.g. JarFileName, JavaClass)
/SOAPBOX
Anyhow, I hope this was useful to you gazzadev.
-Nick

Similar Messages

  • ATP for 1 st.location for some customer and other for other customer

    Hi,
    I have a sceanrio, where a cash customer walks in the store, picks up 10 pcs from the shelf come to the counter pays and moves out. In the same plant I have run a availability check on a account customer as per requested delivery date, was supposed to give same 10 pcs. So availability check is of no use here.
    But I can control this if I mark storage location 0001 for Walkin Customer and 0002 for Account customer in the same plant , In this I will run Av Check for account customer and can commit him dates and at the same time walkin customer also gets his material.
    So can anybody tell what should be end to end process
    Regards
    Naveen

    Hi,
    Alternatively, you can configure your system, as per your suggestion to the account customer and walk in customer.
    What you can do is keep a seperate stock of the account customer and a seperate stock of walk in customer.
    You can reserve the account customer stock prior to 10 days while walk in customer needs no prior reservation, as the quantities required by him on single dealing basis would be low.
    This will help you solve your availability check.
    regards,
    Siddharth.

  • ATP and Route Determination at Storage Location Level

    Hi Experts,
    I'm working on a project currently and one of the requirements is to have ATP and Route Determination at Storage Location level. I know SAP standard for this is at plant level but was wondering if anyone has had this requirement before, and if so what course of action they took to solve this issue.
    Any help would be greatly appreciated.
    Thanks,
    Mark

    Hi Mark,
    in my previous project we have a customized table created for all the route determination and used mv45afzz move field to vbap to determined the route.
    not sure if there is a easier solution but at least it is doable through customization for sure.

  • Order Import - Validation failed for the field - End Customer Location

    I am trying to import an order using standard import program and it is failing with below error:
    - Validation failed for the field - End Customer Location
    I have checked metalink to debug this and found nothing, the values i have used to populate the interface table or valid.
    Can someone please post your views on this, on where the problem might be.
    Thanks!

    Hello,
    Try the following
    1) Check if any processing constraints are applied to customer/location
    2) Try to create a new customer and associate internal location.
    Create a new order to reproduce the issue
    Thanks
    -Arif

  • Handling Consignment Stock at Customer Location

    Hi Experts,
    Please advise how to handle consignment stock at customer location in SAP B1 2005B, the situation is in this way;
    The customer pays for the goods but the delivery is a consignment shipment.
    Regards,
    Shakeel

    Hi Shakeel,
    We handle this in the following way:
    (only works well if you do not have too many customers wanting CS)
    To summarise
    1) Created new BP Account spcificly for CStock for Partner wanting consignment stock.
    2) Order for Consignment stock entered on new account, delivered and invoiced (invoice never sent to Customer) but you have a delivery note.
    3) Balance on Cstock BP account credited back to 0 but the stock is credited back to a new stock warehouse (e.g. CS001).  customer now has stock and you have a record of what has been sent in location CS001
    4) Cutomer notifies usage of stock. 
    5) Manual invoce raised on Actual BP account for consumed stock against warehouse CS001 (warehouse entered on invoice line) we also change payment terms for CS stock invoices.
    6) CS0001 Warehouse not been reduced by invoice qty and you have and invoice to send to the consumer.
    There are one or two floors in the procedure. eg handling changes in cost of stock.
    Happy to send you our procedures is you put an email on your business card.
    Thanks,
    Mike

  • Skype for Business bug - changing custom locations

    Just transitioned from Lync to Skype for Business and have noticed this issue on multiple workstations following the switch. Sometimes I am unable to change my custom location using the steps explained by the office support guide here: https://support.office.com/en-us/article/Set-change-or-hide-your-location-in-Skype-for-Business-Lync-9d8b0e1c-c51d-42cc-a035-918e2ec47f66. Entering a free-form location, as well as selecting from a previous entered location does not seem to be working correctly. The input box will always appear as if I'm still entering text. Hitting enter, tab, clicking in a different portion of the application, closing the application, or restarting the application does not seem to make the status persist. Occasionally, this works as expected, but most of the time I am unable to save my location. 

    Hi,
    This Community is only dealing with Skype (the consumer product) and not Skype for Business. Best to start with Skype for Business support, e.g. here: https://support.office.com/en-us/article/Set-change-or-hide-your-location-in-Skype-for-Business-Lync--9d8b0e1c-c51d-42cc-a035-918e2ec47f66?ui=en-US&rs=en-US&ad=US

  • Media editor - Browse media files from a custom location

    Hi,
    I am using media banner cartridge, which provides a media editor for choosing media files. The media files have to be in Endeca\Apps\<application>\config\media folder for me to browse the media files from media editor. Is there a way to change this location to some other custom location say doc root of my webserver ?

    Thanks Kristen, Naresh for your responses.
    Kristen,
    I had earlier read through the documentation for storing media assets directly in MDEX. However, what i understood is that it would require a separate MDEX instance (the document calls it media MDEX engine) and thereby additional licenses. Is my understanding correct? I was very keen on the MDEX approach earlier as there are limitations with ECR (wrt to # of media files and size). If the MDEX approach wont require additional instance, then certainly that is the approach i would take. Kindly advise.

  • Mac Help appears and disappers before I can locate it

    hello,
    Each time I click mac help under finder the help window appears and before I can do anything it disappears. Is there a way to prevent this from happening? Also, Is there a way to customize the icons that are located on the dock?
    thanks,
    kate

    Hi Again Kate!
    To customize the Dock icons, I think you would have to change the icon of the application, Utility, or Folder, that the Dock alias points to.
    Mac OS X: How to Use Custom Icons
    Once you have done that, pull the old icon off of the Dock, if it hasn't changed, and reinsert the new custom one.
    ali b

  • I have an existing ipod that I use with my mac. I am trying to connect an additional ipod to it but when I try and register, it just brings up the existing info. I don't want to lose the original info or library - just create new for this device. Pls help

    I have an existing ipod that I use with my mac. I am trying to connect an additional ipod to it but when I try and register, it just brings up the existing info. I don't want to lose the original info or library - just create new for this device. Pls help...

    We are starting from the beginning like its a new ipod starts out asking language, country,location services,choose a network,and when we get to "setup ipod touch  " there are 3 options 1..setup as new ipod, 2.restore from ipod backup 3 restore from itunes backup and when we hit setup as new ipod and click next it comes up with sign in with apple id or create a free apple id  we clicked create a free apple id....then comes up with bday,1st name last name, use your current email address, get a free icloud email address or change email address and THIS is where we have problems....if we hit change email address it means that sis's stuff goes under his name and moves all her stuff to this older ipod which the brother does not want. sorry this is so long but its the only way I knew to do it.

  • I have attempted to run Office 2010 Repair as Outlook will no longer open. When attempting to run Repair, it starts and stops saying in cannot locate file Office.en-us\dwdcw20.dll

    I did the disc error repair process under the disc Properties/tool menu. That did not make any difference.  I then downloaded the file dwdcw20.dll and put it into the Windows/system32 folder as instructed.  That made no difference.  When ever
    the Repair program is asking for the .dll file it brings up a window where I am to select a location.  I directed it to the system32 folder and then it says "invalid location".  I have pasted the file into other locations and pointed the
    repair program to them but keep getting the "invalid location" responce.
    SO, the question of the day is "What is the VALID location?" so that I can put the file into that location so that the Office Repair function will work.

    Have you tried registering the DLL file with the regsvr command?
    http://stackoverflow.com/questions/4897685/how-do-i-register-a-dll-file-on-windows-7-64-bit

  • HT5978 How do I add custom location on Calendar?

    When I type location, Calendar give me options. But I want to add custom location because all of options is incorrect. How can I do that?

    Thanks...I will try importing the icons to the path indicated...guess it is not in KM afterall. 
    Still have a question though...are there any requirements on the icon...does it need to be a .gif file and 48x48 or can it be .jpg and a larger thumbnail size?
    I'll update you after I get loaded into the indicated path and bounce the system,...thanks.

  • Why do I have to keep logging in and registering CC apps (Windows)

    Every single time I close and app (Photoshop CC, Illustrator CC, etc...) and I go to open it again later when I need it, I have to login in again and again and register the product every time. The only problem that doesn't give me any trouble is Lightroom becuase it isn't connected to the cloud the same way the other apps are...
    It all gets pretty frustrating when you go back and forth between Lightroom and Photoshop as I often as I do. (Sometimes it's just a natural reaction to close Photoshop CC when I think I am done with it.)

    Hi dustin_pennay,
    Please try this fix to resolve the issue.
    Please rename SLStore folder to SLStore.old from this location
    Windows:
    C:\ProgramData\Adobe
    Mac:
    /Library/Application Support/Adobe
    Let us know whether this step worked for you or not.
    regards,
    Abhijit

  • Order Creation for Anonymous and Registered/Loggedin User

    Hi all,
    1) I wanted to know about order creation in two different scenario i.e Anonymous and registered/logged-in user.
    2)What happens when we make persistOrdersForAnonymousUsers=true in ShoppingCart.properties ?? will this only store the orders in the DB, is there any other use for this.

    Hi Enzo,
    For
    a) If you have not added any item to the cart the default behavior is to not persist the Order Object. There is property ShoppingCart.saveEmptyOrders which is false by default. If an anonymous user has added an item to the cart then the Order Object will be persisted.
    b) Even if the session expires when you come back to the site the order will be loaded in to the cart because the orderId or the profileId is set in a persistent cookie. Again what is the stored in the cookie depends on how you implement the Anonymous Order Persistence. Here again the default behavior is to persist the anonymous profile also and store the profile id in the cookie. You need to persist both anonymous profiles and orders unless you want to write your own code to manage the loading of orders based on a custom cookie.
    with warm regards,
    Jai

  • Where is that "Comcast Guarantee" and care about the "customer experience"?

    Where is your Comcast Guarantee? Empty words, AGAIN? "We’re constantly pushing the boundaries of innovation and creativity, and that includes the customer experience. Our customers deserve the best experience every time they interact with us, and improving upon that is our number one priority." "We will always be on time within your 2 hour appointment windowor you’ll receive a $20 credit*.As a courtesy, we will call you before we arrive at your home. And if we fail to arrive for a scheduled visit during the appointment window, we will credit you $20*." "We will resolve routine issues in one visit or you’ll receive a $20* credit.After the first visit to your home, if we do not satisfactorily complete installation or can’t resolve a routine issue, we will credit you $20*. Additionally, we won’t charge you for a service visit that results from a Comcast equipment or network problem." "We will treat you and your home with courtesy and respect.Our technicians will display their Comcast identification clearly when they arrive at your home. They will be trained and equipped to complete the job on the first visit. Our Customer Account Executives (CAEs) will be courteous and knowledgeable when you contact us." I think your word to the customer is worthless. You obviously don't believe a customer's time is valuable, but the recording claims "we value your time". More empty words. You sent a tech to my house that took my cable box for no reason, and left me with terrible service, and a fake follow up appointment. He would NEVER have taken a box from a man, but a woman alone in her home he's allowed to walk all over. Now,after hours and hours and hours of phone calls, messages to the forum, and more comcast no-show for another follow up appointment, more phone calls and appointments, I am back to where I was BEFORE Comcast sent out a tech - still with the original problem that cannot be solved, but at least I have a signal and a box. No one is stepping up to honor Comcast's guarantee. No one has offered to credit my account for anything. No one has contacted me about my bill. I did try to contact billing, and they don't know anything about what kind of mayhem this tech caused me and Comcast, and they want to tell me about a credit applied to my account when $2 was taken off my bill last month that I have no knowledge of, as if I was given a gift. I asked for a supervisor, and had a terrible connection with her over Comcast's equipment. She hung up on me, wasting another 30 minutes of my time.  

    Did you register your suite? Did you lose the installer (if downloaded) or the CD's (if purchased)?
    If you didn't register, there's not much that you or they can do. Of course you know that when you download an installer, you should save a backup for these situations.
    That being said, this forum is for a specific product (Adobe Contribute) and isn't visited by too many folks. If you go to the feedback forum, you may actually find someone that can help.
    Feedback forum: http://forums.adobe.com/community/general/adobedotcom_feedback
    Good luck.

  • Choosing to be notified when a custom location is reached that is not in your contacts!?

    The other day I was going to meet my parents at a movie theater.  I had something to tell them/show them when i got to the theater and did not want to forget. I thought, I will try the new notification center that is on ios5. I realized that it only lets you choose when you arrive or leave your current location or a location that is in your contacts, so i would have to find out the exact address of where i am going and save it to my contacts list then use notification center. But, what about a location you are going to or driving past?  It allows you to choose a custom location from your contacts but you should be able to open a map and find the location you are going to or be able to copy and paste an address from the mobile site into the notification center and customize it that way.  SO, I want to tell my parents something when i reach location x which i put into the custom field and it reminds me when i get there. Then while on my way back home, it reminds me to buy milk while i am driving by the supermarket which i also put in when i reminded at the movies.  This would all be nice to do without having to add these addresses into your contacts list.  Will/Has apple implemented this in Notification Center and i just don't know how to use it?

    No, there is no way to clear them all from memory other than a total wipe of the iPhone.
    They can be deleted one by one by touching the "i" at the end of the suggested email address.

Maybe you are looking for

  • IDVD is not working in IMOVIE

    Hi, Couple of months ago I had to reinstall my Imac OS X 10.5 since then my iMovie's IDVD option is not working. I thought if I upgrade the OS and iLife it would solve the problem. Recently I upgrade my OS to 10.6.3 and Ilife to iLife 11. Even after

  • MR11 GR/IR clearing account error

    Hi All, I have an issue on Txn MR11 that my client is facing. There are certain PO's for which when the GR/IR acount clearance is done through Txn MR11 it gives an error as "Update error : one or more purchase orders were not updated". I have never w

  • Can I get the new MacBook with a 1 tb Hard Drive?

    Well very good looking the new (GOLD) MacBook announced on Monday 9 March 2015.  But with just one USB-C port this means having a number of adapters with me at all times --- But the big concern is whether I can get at least 1 tb of storage space.  I

  • Discover: error: The file /a.out was linked by an older link step. Please use the latest compiler to do the link.

    Hi, I have installed Solaris studio and wanted to use the memory analyzer from there. I am trying it on a sample program, but it returns the above error and does not instrument the executable. Could you please help me tracing where am I going wrong.

  • Adobe CS5 design premium student uploading to 2nd computer

    I am getting an error message after loading adobe cs5 design premium student edition to a 2nd computer "adobe illustrator has stopped working".  It appears to be loaded but stops working immediately.  Any solutions?