2
votes

I'm using ASP.NET on the server side and JavaScript on the client side.

I'm trying to develop some pages that will help the user troubleshoot and I was wondering if there was a way to programmatically determine the following:

  1. if ActiveX has been disabled in Internet Explorer
  2. if an ActiveX control has been installed
  3. if an ActiveX control has been installed but disabled

For cases 2 and 3, I know that in order to detect that an ActiveX control is installed, you would use the following check in JavaScript:

function isActiveXControlInstalled(progId, expectedVersion)
{
    var version;
    try
    {
        var instance = new ActiveXObject(progId);
        version = instance.VersionString;
        instance = null;
    }
    catch (e)
    {
       version = null; // Set version to null, since that is an invalid control version, and the check below will always fail.
    }

    return (version >= expectedVersion);
}

However, this function also returns false in the case that the control is installed but disabled. Can these two cases be distinguished?

1
sorry I do not understand, but what you mean with distinguished?andres descalzo
The isActiveXControlInstalled function cannot tell the difference between the cases 2 and 3. It will return false if the active control is not installed and if it is installed but disabled. I would like to be able to tell the difference between these cases so that I can show the user an install page or a page that shows them how to re-enable the control.user173405

1 Answers

0
votes

No. I think if it is installed but disabled you won't be able to tell from your application. You might consider changing the wording in your troubleshooting page to "not installed or is disabled".