Well the issue is basically that registration of VB6 Dlls requires the
VB6 runtime to be installed on the system. That means you need the VB6
runtime on your dev machine where you're running Heat.  Heat is calling
DllRegisterServer, which is calling into the VB6 runtime.  That much
seems obvious, so if you already have the VB6 runtime on the dev system
then something else is going on (a possibility might be that Heat is
confused by seeing registration entries that have a server other than
your Dll). 
 
The VB6 merge modules etc that consitute the VB6 runtime support are
included in your setup for the Dll to work, where the assumption is that
your VB6 code won't run until after the install because of the "random"
order in which files are installed. 

Phil Wilson 


________________________________

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Cheyne,
Mark A - DNR
Sent: Tuesday, June 12, 2007 3:45 PM
To: Neil Sleightholm; wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Heat and vb6 dll?


As Neil's reply is actually a solution to my other post:
http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg09440.htm
l
 
I thought I'd restate _this_ problem, which remains unsolved.
 
The problem here is that I run heat.exe on a VB6 DLL that I authored, as
a way to generate a *.wxs file containing a <FRAGMENT> with all the COM
registration muck I need to install and register that DLL. The problem
is that the output *.wxs contains errors that prevent me from building.
See my enumeration of errors 1, 2, 3 at the bottom of this thread.
 
Any thoughts? These errors refer to a class and typelibs that are part
of VB6 itself, not my DLL, and yet heat.exe emits (erroneous,
incomplete?) metadata about them when I point it at my DLL.
 
Thanks, all - I'm almost there!  Mark


________________________________

        From: Neil Sleightholm [mailto:[EMAIL PROTECTED] 
        Sent: Tuesday, June 12, 2007 4:29 PM
        To: Cheyne, Mark A - DNR; wix-users@lists.sourceforge.net
        Subject: RE: [WiX-users] Heat and vb6 dll?
        
        

        It looks like this has come up before:
http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg01619.htm
l

         

        I found I needed to add:

         

            <EnsureTable Id="Registry" />

            <EnsureTable Id="Class" />

            <EnsureTable Id="ProgId" />

            <EnsureTable Id="Extension" />

            <EnsureTable Id="MIME" />

            <EnsureTable Id="Verb" />

         

        Neil

         

        From: Neil Sleightholm 
        Sent: 12 June 2007 22:19
        To: 'Cheyne, Mark A - DNR'; wix-users@lists.sourceforge.net
        Subject: RE: [WiX-users] Heat and vb6 dll?

         

        I can't help but I see exactly the same errors. As a work around
I am ignoring the ICE03 errors but I am not sure this is a good move.
Hopefully someone else will enlighten us.

         

        Neil

         

        From: Cheyne, Mark A - DNR [mailto:[EMAIL PROTECTED] 
        Sent: 12 June 2007 22:13
        To: Neil Sleightholm; wix-users@lists.sourceforge.net
        Subject: RE: [WiX-users] Heat and vb6 dll?

         

        yes, that is precisely the source of the merge modules I
describe in my original post. thanks.

         

        since that post, I have tried running smoke.exe on a few of
those merge modules, which results in all the errors I am seeing in my
build. I take that to mean that the modules are somehow 'bad'. Can
anyone explain why?

                 

                
________________________________


                From: Neil Sleightholm [mailto:[EMAIL PROTECTED] 
                Sent: Tuesday, June 12, 2007 4:03 PM
                To: Cheyne, Mark A - DNR;
wix-users@lists.sourceforge.net
                Subject: RE: [WiX-users] Heat and vb6 dll?

                It might be easier to use the VB6 merge modules from
Microsoft:
http://www.microsoft.com/downloads/details.aspx?familyid=f9d19334-61ec-4
8cf-bb4e-3aec65edd50b&displaylang=en.

                 

                 

                Neil

                 

                Neil Sleightholm
                X2 Systems Limited
                [EMAIL PROTECTED]

                 

                From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Cheyne,
Mark A - DNR
                Sent: 12 June 2007 17:40
                To: wix-users@lists.sourceforge.net
                Subject: [WiX-users] Heat and vb6 dll?

                 

                I ran heat.exe on a COM dll created in VB6, to
automagically get a fragment of all the stuff necessary to register my
DLL on installation. When I try to build the project, I get 3 errors on
the output *.wxs that heat.exe gave me:

                1) Error CNDL0010: The Class/@Server attribute was not
found; it is required. This is referring to the following element:

                <Class Id="{D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731}"
Context="InprocServer32" Description="VBPropertyBag"
ThreadingModel="apartment" />

                2) Error CNDL0047: The TypeLib element is non-advertised
and therefore requires a parent File element. This is referring to the
following element:

                <TypeLib Id="{000204EF-0000-0000-C000-000000000046}"
Description="Visual Basic For Applications" Language="9"
MajorVersion="6" MinorVersion="0">

                3) another one like (2), referring to: 

                <TypeLib Id="{EA544A21-C82D-11D1-A3E4-00A0C90AEA82}"
Description="Visual Basic runtime objects and procedures" Hidden="yes"
Language="9" MajorVersion="6" MinorVersion="0">

                Can anyone elaborate? Am I missing something? 

                Thanks, Mark 

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to