I've yet to roll this into production but under my circumstances I went with an alternate option of using Application and Assembly manifests. This will not work with out of process (exe) COM servers, but it will work with both native and managed assemblies.
The manifests leverage on SxS / RegFree COM, allowing your application to create a COM object which doesn't even exist within the registry. I've written 2 small utility tools as well which allow me to generate manifest files via mt.exe (from the platform SDK), and for native DLL's use the output and do a 2 step process (the first tool is a step child of regsvr32, but using registry redirection it allows a non admin user to register a non-aware DLL as a per user DLL) of registering the COM object, and then calling a second tool which parses the manifest looking for CoClasses without ProgID's and replaces them with the result from ProgIDFromCLSID. If you go with the manifest approach, the immediate benefit is no need for any registry keys for the installer with respect to the COM object, and it makes per user and per machine installs less conflicting. -----Original Message----- From: Anil Patel [mailto:apatel...@googlemail.com] Sent: Wednesday, July 27, 2011 4:39 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] com registration Hi Daniel, 1) For a COM dll, heat should generate the appropriate registry data. 2) For a COM EXE server, heat will not generate the the registry data but you can do the following.: a) Use RegSpy2 to extract the registry data into a reg file. So if my COM exe is called TestCOM.exe, you would issue the command Regspy2.exe TestCOM.exe /RegServer > TestCOM.reg The Regspy2 utility captures the COM registration data and adds it to TestCOM.reg file. b) Then use Heat.exe against the reg file as follows -> Heat.exe TestCOM.reg -gg -g1 -out TestCOM.wxs Google for RegSpy2. Thanks, Anil. On Tue, Jul 26, 2011 at 6:31 PM, Dariel Marlow <dmar...@gmail.com> wrote: > I'm using heat to generate the fragment for my COM object. After installing > the MSI, the CLSID entries are not created in the registry. Should I add > Registry elements to my WXS file manually or am I doing something wrong? > > > > Thanks, > > > > Dariel > > > ------------------------------------------------------------------------ ------ > Magic Quadrant for Content-Aware Data Loss Prevention > Research study explores the data loss prevention market. Includes in-depth > analysis on the changes within the DLP market, and the criteria used to > evaluate the strengths and weaknesses of these DLP solutions. > http://www.accelacomm.com/jaw/sfnl/114/51385063/ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------ ------ Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users