COM to .NET

Note! COM to .NET has been discontinued. You can download it for free, but no technical support is provided for it.


Aurigma COM to .NET is intended to simplify the migration of COM-based code to .NET. This product allows you create COM wrappers in managed C# code. It has much more features than standard Microsoft COM importer, but the most significant feature is that you do not need to register COM/ActiveX objects via regsvr32.exe! It means that you can deploy your solutions based on COM without registration (the only thing you need is .NET Framework). It is very important for Internet applications, because hosting providers often dislike installing COM/ActiveX components. It also allows to migrate from ASP to ASP.NET with minimal losses (if you use COM/ActiveX components)!

How does it work?

It uses the following scheme:

  1. COM to .NET application analyses the type library of the COM component you want.
  2. Then it generats the code on C#.
  3. If you want to use (and even distribute) the generated wrapper without registration the COM, it includes the dll into the resources.
  4. When you use the result wrapper classes, the dll is extracted from resources and placed into a temporary directory. As the application knows full path to the dll and we implemented all the necessary functions set to work with COM without registry, the dll does not need to be registered.
  5. You work with generated wrapper class and it calls appropriate methods from the your COM dll.

The main distinguishing features of Aurigma COM to .NET from Microsoft TlbImp.exe

  • Generation of wrappers as C# code. You can manually modify C# code or paste generated code fragments into your own projects.
  • Possibility of generation of wrappers which don't require COM objects server registration. It is very important feature when your want to redistribute your .NET component on computers where COM object registration is disabled, e.g. on servers.
  • Possibility of generation of wrappers of objects from many type libraries in one assembly.
  • Import of module functions.
  • Import of unions.
  • Generation of XML documentation from type library help attributes: [helpstring("...")].
  • Generating comments with original IDL and Visual Basic 6 code.
  • Support of events from COM-servers with single-source event model.

Other features

  • Full import of interfaces, dispinterfaces, coclasses, unions, records, modules, and aliases.
  • Generation of IEnumerable interfaces for OLE collections classes.
  • Import of class events as delegates.