Hi Guys,
I've done some further testing. I upgraded to 3.0.3127 and tried that. I
created a brand new ActiveX DLL in VB6, compiled it once and ran heat. I got
interesting results:
On Vista, Wix 3.0.3127, DLL compiled in Vista:
I get no <TypeLib> entries.
I get a lot of <Class>, <Interface>, <RegistryValue> entries, mostly
children of the <Component> element.
On Windows 2000, Wix 3.0.3127 (VirtualPC), same DLL file copied to it (DLL
compiled in Vista):
I get the correct <TypeLib> entry under <File>.
I get <TypeLib> entries for the VB6RM under <Component> (I discard these
anyway)
I get almost no <RegistryValue> entries (not related to the DLL anyway, so
discarded)!
So, it looks as though something has changed between 3.0.2925 and 3.0.3127.
It also seems Vista does something to hinder heat's interrogation/harvest.
Note that I run heat as Administrator on Vista.
I had a look at the heat harvesting extension code, only out of curiosity.
Would you recommend to not run heat in Vista for ActiveX/COM DLLs?
Cheers,
David.
_____
From: Mike Dimmick [mailto:[EMAIL PROTECTED]
Sent: Wednesday, 1 August 2007 5:28 AM
To: 'David Howell'; wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] Wix 3.0.2925 heat TypeLib RegistryValue
Generally you should consider Heat's output as a starting point, not a final
product. You need to understand what's been generated.
Heat captures the raw registry output from running the DllRegisterServer
output; it then transforms what's been harvested into the higher-level
values. Anything left as RegistryValue elements was written by the DLL but
didn't match the TypeLib information. Could you post what's shown?
If you're not already doing so, I would recommend using VB's Binary
Compatibility setting to ensure that the GUIDs are stable as far as
possible.
--
Mike Dimmick
_____
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of David Howell
Sent: 31 July 2007 01:03
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Wix 3.0.2925 heat TypeLib RegistryValue
Hello,
I've been using WiX 3.0.2925 to install some of our COM DLLs (created by
Visual Basic 6.0 SP6).
With WiX 3.0.2925 when I use:
"heat file MyLibrary.dll -out MyLibrary.wxs"
I will often get a mixture of <TypeLib> entries (which is what I want) and a
mixture of <RegistryValue> entries (which seem to be instead of other
<TypeLib> entries).
This makes it very difficult to edit a wxs file when interfaces have changed
etc.
Is there any way to force heat to produce only the <TypeLib> entries?
Cheers,
David.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users