Apportioning blame where required: the spurious entries are generated by the
VB6 DllRegisterServer code, not by Heat. Heat does not know what the
DllRegisterServer code does, it simply captures the changes the DLL made to
the registry. The sterile environment supplied by Heat for the DLL to inject
its changes into sometimes does cause the DLL to do too much (or to fail to
run outright). If you get weird output, crashes, unexplained message boxes,
debug the DllRegisterServer function. The sterile environment does not
include the registry entries needed for side-by-side DLLs to work (last I
checked), so anything dynamically linked to the version 7.0 or later C
runtime won't load and run.

If you can avoid having to capture the output, you should do so. It *is*
possible (though not fun) to work out what VB6 DLLs will do by studying the
embedded type library; use the OLE/COM Object Viewer (oleview.exe) from
Visual Studio (ships with all versions - VS6 adds a shortcut to the Start
menu, VS7 and later in Common7\Tools\Bin - you may need to install some
optional components).

To reduce the amount of change required in your WiX script, use one of the
COM compatibility options in VB - Project Compatibility or Binary
Compatibility. That will keep GUIDs stable until you make a change to your
interface.

-- 
Mike Dimmick

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dyson, Peter
Sent: 21 May 2007 10:58
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Using heat.exe as part of an automated build

Although Rob et al, don't recommend this approach we have been using
Heat, and it's predecessor, as part of our automated build process for
over a year with Wix3.

The main things to be wary of are the spurious entries generated by
Heat, for example VB6 entries which should not be there.

However this is where XML shines, using both Xpath and tranforms, you
can sanitise the output from heat directly into compilable code.

We use Ant as our main build tool and xmltask a contributed package for
ant works very well for the substitions and removal. I am unaware if
Nant has a similar package.


-------------------------------------------------------------------------
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


-------------------------------------------------------------------------
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