Hi, regsvr32.exe calls the dllselfregister function in a com dll which usually will read from a reg resource in the dll and write the registry keys needed with all the correct com information. Some people have been known to modify this function to do other things along with com registration.
When you use heat on a com dll it works out what the correct registry keys to write are and places these into the installer. You should use HEAT to gather this information. See here for why... http://msdn.microsoft.com/en-us/library/bb204770(VS.85).aspx#no_selfreg http://msdn.microsoft.com/en-us/library/aa371608.aspx Also you seem to be asking lots of questions that are easily found by searching the the list archives here... http://n2.nabble.com/wix-users-f687560.html Dave W. -----Original Message----- From: rahul.ekb...@sungard.com [mailto:rahul.ekb...@sungard.com] Sent: 16 June 2009 09:22 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Needs to understand how wix register the .dll or .ocx? Hi, I want to understand how wix registers the components in registry. When I run the heat .exe for files it generates code like. <Component Id="cmpD84773041B2997E366AE89770EECD1F5" Directory="dir002788116533422330D6397E8731D012" Guid="{56DA410A-4B54-4E60-8996-56E4E6D4CD87}" NeverOverwrite="yes" Permanent="yes"> <File Id="fil0A16D5712A97B1C9AD41B8BE60E4DC48" KeyPath="yes" Source="ALMEngine\AlgFormulaEditor.dll"> <TypeLib Id="{6480C539-3A84-4993-ACD5-1452729D4C68}" Description="AlgFormulaEditor 1.0 Type Library" HelpDirectory="dir002788116533422330D6397E8731D012" Language="0" MajorVersion="1" MinorVersion="0"> <Class Id="{98E7AA54-DE51-4E4B-95F1-93BA65C709D4}" Context="InprocServer32" Description="AlgFormulaEdit Class" ThreadingModel="apartment" Version="1.0" Insertable="yes" Programmable="yes" Control="yes"> <ProgId Id="AlgFormulaEditor.AlgFormulaEdit.1" Description="AlgFormulaEdit Class"> <ProgId Id="AlgFormulaEditor.AlgFormulaEdit" Description="AlgFormulaEdit Class" /> </ProgId> </Class> <Class Id="{AD0009B9-FB04-47A9-8727-6E5582485E16}" Context="InprocServer32" Description="FormulaArrayEdit Class" ThreadingModel="apartment" Version="1.0" Insertable="yes" Programmable="yes" Control="yes"> <ProgId Id="AlgFormulaEditor.FormulaArrayEdit.1" Description="FormulaArrayEdit Class"> <ProgId Id="AlgFormulaEditor.FormulaArrayEdit" Description="FormulaArrayEdit Class" /> </ProgId> </Class> </TypeLib> </File> <RegistryValue Root="HKCR" Key="CLSID\{98E7AA54-DE51-4E4B-95F1-93BA65C709D4}\MiscStatus\1" Value="131473" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{98E7AA54-DE51-4E4B-95F1-93BA65C709D4}\MiscStatus" Value="0" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{98E7AA54-DE51-4E4B-95F1-93BA65C709D4}\ToolboxBitmap32" Value="[#fil0A16D5712A97B1C9AD41B8BE60E4DC48], 102" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{AD0009B9-FB04-47A9-8727-6E5582485E16}\MiscStatus\1" Value="131473" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{AD0009B9-FB04-47A9-8727-6E5582485E16}\MiscStatus" Value="0" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{AD0009B9-FB04-47A9-8727-6E5582485E16}\ToolboxBitmap32" Value="[#fil0A16D5712A97B1C9AD41B8BE60E4DC48], 105" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="Interface" Value="" Type="string" Action="write" /> </Component> I want to understand how this code registers the component. How it is different from using regsvr32.exe to register the component? NeverOverwrite="yes" Permanent="yes" are these are the right attributes if I don't want to remove/unregister the component. Thanks, Rahul Ekbote Senior Software Engineer * SunGard * ALM * Bacware * ------------------------------------------------------------------------ ------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users SDL PLC confidential, all rights reserved. If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us. SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207. Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users