views:

2671

answers:

1

I have a CAB file that contains a few DLLs, and an OCX ActiveX control, an OSD describing the contents, and an INF for installing the DLLs and ActiveX control. These are coming from a 3rd party, so I can't control anything except how they are distributed to the client.

They are being used within a Java applet, and they work cross browser, but only IE seems to support actually installing the CAB file.

The installation is being done via:

<OBJECT classid="clsid:actual-class-id-here" NAME="name"
        width="0" height="0" codebase="xxxx.cab#Version=w,x,y,z">
  <param name="useslibrary" value="xxxx">
  <param name="useslibrarycodebase" value="xxxx.cab">
  <param name="useslibraryversion" value="w,x,y,z">
</OBJECT>

So, I need a way to install this CAB file that will work cross browser. Since the above will only work via IE, I need an alternative, or I need a way to install it from the command line, which would be a reasonable workaround (I could then set up an installer to take care of it). This needs to work on XP through Vista.

Any help would greatly be appreciated!

EDIT: Installing from command line would be much preferred, as then I could do a solution that isn't specific to IE, FireFox, or any other browser.

+1  A: 

Ok, so I finally tracked down a website that gave something useful:

http://www.msfn.org/board/install-inf-file-c-t104891.html

And the resulting command I will likely use:

rundll32.exe advpack.dll,LaunchINFSectionEx .\xxxx.inf,,C:\path\to\xxxx.cab,4

Which I think will do exactly what I want. Now I just need to create a simple installer, and it should all tie together nicely!

Mike Stone