Registration-free COM allows you to use an ActiveX DLL or ActiveX Control in your application without having to register the ActiveX on the end-users machine using regsvr32. It does this by creating a manifest file which if distributed with the executable means that no registration is required. This is only supported in versions of Windows XP and higher and some issues have been reported with XP but there is a hotfix available.

Using Debenu PDF Viewer SDK as an example, after you have registered the ActiveX Control (DebenuPDFViewerCtrl1112.ocx) on your developer machine using regsvr32 (registering on the developer machine is required in order to generate the manifest file), added it to your Visual Studio project as a control and then dragged it onto your form, you should see the following two entries added to the References section in the Solution Explorer:

  • AxInterop.DPVActiveXLib.dll
  • Interop.DPVActiveXLib.dll

To ensure that a manifest file is generated so that you don’t need to register the ActiveX on the end-users machine you should left-click on each of these entries and then go to the Properties section of the Solution Explorer and change the Isolated property from False to True. This will ensure that the manifest file contains the necessary information. The manifest file by default will be copied to the same output directory as the EXE and needs to be kept in the same folder as the executable when deployed.

More information about Registration-free COM from other sources:

Please note: If you are using ClickOnce deployment in Visual Studio and the package includes an ActiveX then it is very important that the Isolated property is set to True.