问题
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:
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!
来源:https://stackoverflow.com/questions/644831/install-cab-file-from-firefox-or-command-line