You need to put a GUID in place of PUT-GUID-HERE in the <Component> element. Since there is no stable component GUID that you can use - that all other setup developers who use CAPICOM will be using - you should set the SharedDllRefCount attribute to "yes" on the <Component>. That ensures that it won't be prematurely removed on uninstalling another application that installs the same file.
I would recommend putting Advertise="no" on the <TypeLib> element, so that the deprecated TypeLib table is not used. Likewise there are problems with advertised classes. I can't see any <Class> elements, and was expecting to see some. Which exact version of heat were you using? The problem here is that heat.exe relies on the self-registration code of the DLL working, and working correctly even when the HKEY_CLASSES_ROOT key is completely empty (heat works by providing a 'canary', dummy, key to the self-reg code using the RegOverridePredefKey API). There's way too much self-reg code out there that doesn't work in this scenario. I'd guess that what's happening is that somehow the self-reg processing (with the DllHarvester mutator) is failing and it's falling back on the type library processing (with the TypeLibraryHarvester mutator), or possibly just that the self-reg didn't actually write the CLSID entries. Manually examining the registry might be the simplest option. Or, pass the output of Tallow through wixcop to convert to the v3 format. As a last resort, use SelfRegCost to perform self-registration (though this is not recommended since Windows Installer will be unable to determine whether a repair is needed). Also, the CAPICOM team should have provided a better solution for installation than SelfReg. Ideally they should provide a merge module. Am I being too idealistic in suggesting that any Platform SDK redistributable should have a merge module? -- Mike Dimmick -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Torsten Rudnick Sent: 13 October 2006 12:35 To: wix-users@lists.sourceforge.net Subject: [WiX-users] Register capicom.dll fails I am trying to register the capicom.dll located inside of the system folder. In WiX v2 I generated a fragment with tallow and all works fine. Now I switched to WiX v3 and used heat to generate the related fragment but it seems not to work. What goes wrong? I tried: > heat.exe file c:\windows\system32 -out d:\capicom.wxs What I get is: <?xml version="1.0" encoding="utf-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Fragment> <DirectoryRef Id="TARGETDIR"> <Directory Id="system32" Name="system32" /> </DirectoryRef> </Fragment> <Fragment> <DirectoryRef Id="system32"> <Component Id="capicom.dll" Guid="PUT-GUID-HERE"> <File Id="capicom.dll" Name="capicom.dll" KeyPath="yes" Source="C:\WINDOWS\system32\capicom.dll"> <TypeLib Id="{BD26B198-EE42-4725-9B23-AFA912434229}" Description="CAPICOM v2.1 Type Library" HelpDirectory="system32" Language="0" MajorVersion="2" MinorVersion="1"> <Interface Id="{0BBA0B86-766C-4755-A443-243FF2BD8D29}" Name="ICertificate" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{208E5E9B-58B1-4086-970F-161B582A846F}" Name="IOID" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{3604C9DD-A22E-4A15-A469-8181C0C113DE}" Name="IQualifier" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{3B096E87-6218-4A3B-A880-F6CB951E7805}" Name="IExtendedProperties" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{41DD35A8-9FF9-45A6-9A7C-F65B2F085D1F}" Name="IKeyUsage" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{47C87CEC-8C4B-4E3C-8D22-34280274EFD1}" Name="IEKUs" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{4DA6ABC4-BDCD-4317-B650-262075B93A9C}" Name="IStore2" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{4E298C47-ABA6-459E-851B-993D6C626EAD}" Name="IBasicConstraints" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{51017B88-1913-49AD-82BE-6BB7C417DCF2}" Name="ISigner" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{5A0780F8-9E6B-4BB0-BF54-87CD9627A8B4}" Name="ISigners" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{5F10FFCE-C922-476F-AA76-DF99D5BDFA2C}" Name="ITemplate" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{625B1F55-C720-41D6-9ECF-BA59F9B85F17}" Name="ISigner2" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{659DEDC3-6C85-42DB-8527-EFCB21742862}" Name="IPrivateKey" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{68646716-BDA0-4046-AB82-4444BC93B84A}" Name="ICertificates" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{6ADC653E-D5B9-422A-991A-A2B0119CEDAC}" Name="IAttributes" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{6B5A8AB6-597D-4398-AC63-1036EF546348}" Name="IQualifiers" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{6FE450DC-AD32-48D4-A366-01EE7E0B1374}" Name="ICertificate2" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{7289D408-987D-45D1-8DEE-CF9E91C2E90E}" Name="IExtendedKeyUsage" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{72BF9ADA-6817-4C31-B43E-25F7C7B091F4}" Name="IPublicKey" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{77F6F881-5D3A-4F2F-AEF0-E4A2F9AA689D}" Name="IChain" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{7B57C04B-1786-4B30-A7B6-36235CD58A14}" Name="ICertificates2" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{84FBCB95-5600-404C-9187-AC25B4CD6E94}" Name="ISignedCode" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{8973710C-8411-4951-9E65-D45FD524FFDF}" Name="IPolicyInformation" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{976B7E6D-1002-4051-BFD4-824A74BD74E2}" Name="IEKU" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{9F7F23E8-06F4-42E8-B965-5CBD044BF27F}" Name="IHashedData" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{A24104F5-46D0-4C0F-926D-665565908E91}" Name="ISettings" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{A4EAB890-0786-406B-9B31-2746F31F8D87}" Name="ICertificateStatus3" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{A694C896-FC38-4C34-AE61-3B1A95984C14}" Name="IRecipients" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{AB769053-6D38-49D4-86EF-5FA85ED3AF27}" Name="ICertificateStatus" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{AE9C454B-FC65-4C10-B130-CD9B45BA948B}" Name="ISignedData" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{B17A8D78-B5A6-45F7-BA21-01AB94B08415}" Name="IAttribute" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{BC530D61-E692-4225-9E7A-07B90B45856A}" Name="IExtensions" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{BF3D04A9-B0DA-4153-B45E-6CCFA5AC715B}" Name="IAlgorithm" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{BF95660E-F743-4EAC-9DE5-960787A4606C}" Name="ICertificateStatus2" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{C4778A66-972F-42E4-87C5-5CC16F7931CA}" Name="IEncryptedData" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{CA65D842-2110-4073-AEE3-D0AA5F56C421}" Name="IChain2" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{CC7A72A7-C83A-4049-85F4-4292DE9DBFD3}" Name="ICertificatePolicies" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{D3D460F2-E7F3-4AF3-8EC6-8EB68C61C567}" Name="IEncodedData" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{DA55E8FC-8E27-451B-AEA8-1470D80FAD42}" Name="IOIDs" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{E860EF75-1B63-4254-AF47-960DAA3DD337}" Name="IStore" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{EB166CF6-2AE6-44DA-BD96-0C1635D183FE}" Name="IUtilities" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{ECB8A5C8-562C-4989-B49D-FA37D40F8FC4}" Name="IExtendedProperty" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{ED4E4ED4-FDD8-476E-AED9-5239E7948257}" Name="IExtension" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{EE2C051D-33A1-4157-86B4-9280E29782F2}" Name="INoticeNumbers" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{F6CB6A20-CC18-4424-AE57-6F2AA3DC2059}" Name="IEnvelopedData" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> <Interface Id="{F701F8EC-31C7-48FB-B621-5DE417C3A607}" Name="IStore3" ProxyStubClassId="{00020424-0000-0000-C000-000000000046}" ProxyStubClassId32="{00020424-0000-0000-C000-000000000046}" /> </TypeLib> </File> </Component> </DirectoryRef> </Fragment> </Wix> Maybe I need to add a few lines by myself? Any suggestions? ------------------------------------------------------------------------ - Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users