The problem was that our enterprise web application make use of an OCX in native image effects. Maintaining the OCX versions on the clients machines was a nightmare because every time there was a new version of the OCX, every client machine has to install it manually (over about 1000 computers for a customer).
The solution is to include additional attribute in the object HTML tag specifying where the package is and the version needed by the web application.
It worked like this : <OBJECT classid=”clsid:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX” height=”0″ width=”0″ id=Obj CODEBASE=”../../OCXPack.cab#version=<%=X.X.X.X”>
The CAB file contains the INF file specifying how the OCX shoudl be installed in the system. You can include your installation package (MSI for example) to remove the old version and install the newer version.
References for the INf file, check the Packaging ActiveX Controls article on MSDN.