Is there a way to ask IE what version of an ActiveX control it has installed and enabled without actually loading the control in question? I'm hoping for something akin to navigator.mimeTypes
in other browsers, where I can get metadata about the plugins without touching the plugins themselves. I have the control's CLASSID
and its servername
/typename
(which I can pass to new ActiveXControl()
if I want to load and instantiate, which I don't); I could almost certainly get whatever other identifying key I need.
I know that I can instantiate the object and use a home-grown GetVersion()
-type call to ask it the version, but in that case I've loaded the control. This is bad because (at least in IE9 on Win7), if IE has loaded an ActiveX control and is then prompted to install a newer version from a cab file, it will tell the user to restart their computer before it will allow access to the control. It seems to work fine if you just restart IE, but we can't exactly tell the users to just ignore the prompt.
At this point I'm guessing that the answer is "you can't do that; IE and ActiveX are two horsemen of the apocalypse" but I figured I'd put it out there.