tags:

views:

65

answers:

2

We build our setups with Wix. We have a mix of native and .NET components, and use COM for interop.

Until now, I have used heat.exe to generate wix fragments for installing .NET assemblies and registering them as COM servers. The wix fragment created by heat takes care of writing the COM related registry entries.

However, somebody just told me that you can also use the ComPlusExtension to do COM registration. The documentation I can find regarding this "ComPlus" stuff is quite cryptic.

Is this ComPlusExtension a valid alternative to the heat.exe approach for registering .NET assemblies as COM components? Are there any differences or gotchas I should be aware of?

+1  A: 

COM+ ( aka Component Services ) is cryptic. That's why Microsoft invented .NET Remoting, WebServices and WCF. :-)

I havn't used the WiX Complus extension but I would imagine it's not a proper substitute for actually registering the COM server. COM Plus just makes it available for invocation on other machines as a package / application. (See DCOMCNFG.EXE ). I know I did this stuff about 5 years ago and I would lay the DLL down, register it using MSI tables and then call out to a custom action that would set the rest up.

Christopher Painter
+1  A: 

I guess you could register as COM+ it isn't really the same thing and means the components would then be running out of process with respect to your calling process (they runs as dllhost.exe IIRC). If you want to see how to use the COM+ extensions checkout the WiX Tutorial. Personally I would stick to regular COM or if you can Registration Free COM.

Neil Sleightholm