Try using the -suid switch when you run heat to get more readable ID's generated rather than 'reg06989E0C50B7888525E711A46A9A609B'. The code you've pasted isn't the problem. The error message says you've got duplicated Id's in the RegistryTable, it has nothing to do with Class & Prog Id's. Make sure none of your RegistryKey or RegistryValue Id's are duplicates & if they are, modify them.
Palbinder Sandher Software Deployment & IT Administrator T: +44 (0) 141 945 8500 F: +44 (0) 141 945 8501 http://www.iesve.com **Design, Simulate + Innovate with the <Virtual Environment>** Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -----Original Message----- From: Renegade Angel [mailto:renegade.an...@gmail.com] Sent: 13 September 2010 10:36 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Light error for COM dll with multiple prog id's for thesame class Dear all, I've been dealing with this issue when using heat to generate the registry information for COM-dll's. (I'm running 3.0.5419.0 of the WiX toolset) For instance: Running heat on the file ChilKatUtil.dll results in: ... <Class Id="{C497BA35-66A4-4818-8AF0-6928A3EEEB68}" Context="InprocServer32" Description="Chilkat AppSettings" ThreadingModel="apartment" Version="1.0" Insertable="yes" Programmable="yes" Control="yes"> * <ProgId Id="Chilkat.AppSettings.1" Description="Chilkat AppSettings">* * <ProgId Id="Chilkat.AppSettings" Description="Chilkat AppSettings" />* * </ProgId>* <ProgId Id="ChilkatUtil.AppSettings.1" Description="Chilkat AppSettings"> <ProgId Id="ChilkatUtil.AppSettings" Description="Chilkat AppSettings" /> </ProgId> </Class> ... This compiles fine, but when linking I get the error: "error LGHT0130 : The primary key 'reg06989E0C50B7888525E711A46A9A609B' is duplicated in table 'Registry'. Please remove one of the entries or rename a part of the primary key to avoid the collision." When I remove section in bold it links fine, and the following entries are written to the registry: [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\ChilkatUtil.AppSettings] @="Chilkat AppSettings" [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\ChilkatUtil.AppSettings\CLSID] @="{C497BA35-66A4-4818-8AF0-6928A3EEEB68}" [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\ChilkatUtil.AppSettings\CurVer] @="ChilkatUtil.AppSettings.1" [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\ChilkatUtil.AppSettings.1] @="Chilkat AppSettings" [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\ChilkatUtil.AppSettings.1\CLSID] @="{C497BA35-66A4-4818-8AF0-6928A3EEEB68}" However, what I need in the registry is the following (I need both prog id's): [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\Chilkat.AppSettings] @="Chilkat AppSettings" [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\Chilkat.AppSettings\CLSID] @="{C497BA35-66A4-4818-8AF0-6928A3EEEB68}" [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\Chilkat.AppSettings\CurVer] @="Chilkat.AppSettings.1" [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\Chilkat.AppSettings.1] @="Chilkat AppSettings" [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\Chilkat.AppSettings.1\CLSID] @="{C497BA35-66A4-4818-8AF0-6928A3EEEB68}" [ [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\ChilkatUtil.AppSettings] @="Chilkat AppSettings" [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\ChilkatUtil.AppSettings\CLSID] @="{C497BA35-66A4-4818-8AF0-6928A3EEEB68}" [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\ChilkatUtil.AppSettings\CurVer] @="ChilkatUtil.AppSettings.1" [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\ChilkatUtil.AppSettings.1] @="Chilkat AppSettings" [HKEY_USERS\S-1-5-21-746137067-2139871995-1417001333-500\Software\Classe s\ChilkatUtil.AppSettings.1\CLSID] @="{C497BA35-66A4-4818-8AF0-6928A3EEEB68}" The funny thing is, with version 3.0.5006.0 I get the correct result, but it is a beta and I would much rather use an official release to build our MSI. Something must have changed to light between the 2 versions. I have tried with 3.5 versions also, but it breaks on the same linker error. I found this post from last year: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Possible-b ug-with-duplicate-registry-keys-td3214414.html That person had the same problem, but I cannot reach him for comments. Also there seem to have been no replies on his question. Anyone has an idea ? Thanks in advance. JB ------------------------------------------------------------------------ ------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users