From: Ekbote, Rahul Sent: Tuesday, June 16, 2009 1:52 PM To: General discussion for Windows Installer XML toolset. Subject: 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