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

Reply via email to