0. heat is not perfect. Sometimes (particularly for complex COM goo like old
VB requires) you have to fix it up yourself.

1. I take the heat output and clean it so it doesn't look so messy. Then I
include that cleaned up file in my setup like I'd include any file I wrote
from scratch.

2. heat did not correctly associate the TypeLib with the File it needs. Try
nesting the TypeLib element under the File it belongs to.

3. It looks like heat got confused and tried to put a File Property
reference in there instead of a Directory reference. Change those values to
point to the correct Directory/@Id.

4. Personally, when getting that deep into COM goo, I spend a little time on
MSDN refreshing my memory of all the registration. Then I go make sure all
the registration is correct. COM can get complex quickly, but if you keep it
simple the Class, ProgId, TypeLib and Interface elements make it look really
pretty (better than tons of RegistryX elements <smile/>).

On Mon, Oct 3, 2011 at 2:13 AM, David Birch (XStream Software) <
dav...@vale2000.com> wrote:

> Hi all.
>
> I have one very old installer file and 2 patches created with vb6 and
> InstallShield. My task is to form a single, shiny new installer, without
> using any of the original source code (which is AWOL).
>
> I've started with a fresh XP virtual machine, using DefenseWall (a host
> intrusion protection system)  I have identified the files that the original
> installer installed. A lot of it was put into the SystemFolder. I've copied
> it all into a subfolder in my project named SystemFolder, which itself is a
> child of assets. Then I've gone ahead and run `heat dir assets\SystemFolder
> -gg -sfrag -template fragment -svb6 -out vb6file.wxs`.
>
> I have tried copying and pasting all the components from vb6file.wxs
> between
> <Directory Id="SystemFolder"> </Directory>of an existing (an up until that
> point, functional project) but am receiving a few errors, that I've been
> unable to troubleshoot.
>
> Firstly, and perhaps most importantly, what is the correct way to include
> the output file?
>
> Second, the errors begin with ...
>
> "The typelib element is non-advertised and therefor require a parent File
> element"
>
> ... which appears to originate with a component by the name of
> JSBtnBar.ocx.
>
> I also have 3 lots of ...
>
> "The TypeLib/@HelpDirectory attribute's value,
> '!filBFDE46EC343B0E499B5B2D6EA1A0CC52', is not a legal identifier.
> Identifiers may contain ASCII characters A-Z, a-z, digits, underscores (_),
> or periods (.).  Every identifier must begin with either a letter or an
> underscore."
>
> ... with various differing value's.
>
> Also, throughout the file, there are many '!fil...' RegistryValue/@Value 's
> that aren't mentioned, that look a little "unwelcoming" to my untrained
> eye.
>
> Please cast your expert eyes over this and point me in the right direction
> (help!).
>
> Kind regards,
> David Birch
>
>
>
> ------------------------------------------------------------------------------
> All the data continuously generated in your IT infrastructure contains a
> definitive record of customers, application performance, security
> threats, fraudulent activity and more. Splunk takes this data and makes
> sense of it. Business sense. IT sense. Common sense.
> http://p.sf.net/sfu/splunk-d2dcopy1
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


-- 
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security
threats, fraudulent activity, and more. Splunk takes this data and makes
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2dcopy2
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to