Hello, I've read through all the wix-users responses (and am fully aware that it has been covered many times), but I am still unsuccessful in getting my assembly registered correctly. Note that I'm not a .Net programmer - my role is to assemble installers - so apologies if some of this is FAQ material.
I have a .Net COM service whose manual registration as follows works OK: regasm SystemServices.dll /codebase However I would prefer not to run a CustomAction to perform a regasm on this. Sending the output to a reg file gives entries such as: HKEY_CLASSES_ROOT\System.SoapClient.ActionItemServiceSoapBinding] @="System.SoapClient.ActionItemServiceSoapBinding" [HKEY_CLASSES_ROOT\System.SoapClient.ActionItemServiceSoapBinding\CLSID] @="{CB7F123F-19B7-4963-9D48-2A18655135CB}" [HKEY_CLASSES_ROOT\CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}] @="System.SoapClient.ActionItemServiceSoapBinding" [HKEY_CLASSES_ROOT\CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\InprocServer 32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="System.SoapClient.ActionItemServiceSoapBinding" "Assembly"="SystemServices, Version=5.8.0.0, Culture=neutral, PublicKeyToken=0c9936e17310ce71" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Program Files/Company/System 5.8.0.69/Client/SystemServices.dll" [HKEY_CLASSES_ROOT\CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\InprocServer 32\5.8.0.0] "Class"="System.SoapClient.ActionItemServiceSoapBinding" "Assembly"="SystemServices, Version=5.8.0.0, Culture=neutral, PublicKeyToken=0c9936e17310ce71" "RuntimeVersion"="v2.0.50727" "CodeBase"="file:///C:/Program Files/Company/System 5.8.0.69/Client/SystemServices.dll" [HKEY_CLASSES_ROOT\CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\ProgId] @="System.SoapClient.ActionItemServiceSoapBinding" [HKEY_CLASSES_ROOT\CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\Implemented Categories\{62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] Running Heat on my DLL gives me: <Component Id="SoapServices.Primary_output" Guid="{AC47838F-805B-4F5F-9BB8-76839F54630A}"> <File Id="SystemServices.dll" Assembly=".net" KeyPath="yes" Source="$(var.SoapServices.TargetPath)"> <Class Id="{CB7F123F-19B7-4963-9D48-2A18655135CB}" Context="InprocServer32" Description="System.SoapClient.ActionItemServiceSoapBinding" ThreadingModel="both"> <ProgId Id="System.SoapClient.ActionItemServiceSoapBinding" Description="System.SoapClient.ActionItemServiceSoapBinding" /> </Class> </File> <ProgId Id="Record" /> <RegistryValue Root="HKCR" Key="CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}" Value="" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\InprocServer32\5.8.0.0" Name="Class" Value="System.SoapClient.ActionItemServiceSoapBinding" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\InprocServer32\5.8.0.0" Name="Assembly" Value="SystemServices, Version=5.8.0.0, Culture=neutral, PublicKeyToken=0c9936e17310ce71" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\InprocServer32\5.8.0.0" Name="RuntimeVersion" Value="v2.0.50727" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\InprocServer32\5.8.0.0" Name="CodeBase" Value="file:///[#SystemServices.dll]" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\InprocServer32" Value="mscoree.dll" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\InprocServer32" Name="Class" Value="System.SoapClient.ActionItemServiceSoapBinding" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\InprocServer32" Name="Assembly" Value="SystemServices, Version=5.8.0.0, Culture=neutral, PublicKeyToken=0c9936e17310ce71" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\InprocServer32" Name="RuntimeVersion" Value="v2.0.50727" Type="string" Action="write" /> <RegistryValue Root="HKCR" Key="CLSID\{CB7F123F-19B7-4963-9D48-2A18655135CB}\InprocServer32" Name="CodeBase" Value="file:///[#SystemServices.dll]" Type="string" Action="write" /> </Component> But I get the error about the duplicate key in Registry when compiling. Note that I have another 1100 entries much like the above. My question is simple. What do I need to change in the WiX file to get the system to register things in the same was as regasm /codebase? Will adding a new unique ID to RegistryValue resolve this? I'm happy to postprocess the heat output if necessary. If this is a bug in Heat - what is needed to resolve the bug so we can get it fixed? Many thanks for any pointers. Ben ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users