Yup, it looks like MSVBVM60.MSM has invalid entries in the _Validation table
for the Class table (none of the KeyTable, KeyColumn, Category, Set,
Description columns are filled-in). WiX only generates entries in
_Validation for the tables it includes in the output, and WiX only generates
those tables which are actually used in the package, plus those absolutely
required by Windows Installer. The result is that when the merge is
performed, the _Validation table gets the bad entries from MSVBVM60.MSM.
The <EnsureTable> elements ensure that WiX generates these tables that were
otherwise unused and generates appropriate _Validation entries. Because
they're already present, the merge does not overwrite them and the correct
_Validation information is present.
ICE03 uses the declared schema (which is effectively what the _Validation
table is) to perform the validation. A row of nulls in the table means an
unbounded numeric value. When it encounters the null GUID in the Feature_
column, it stumbles.
Developer Division have never shown any inclination to fix the many
documented issues in the VS6 merge modules. See
http://www.installsite.org/pages/en/bugs_msi.htm#wimsm for a list (scroll
past the MSDE issues).
--
Mike Dimmick
_____
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Cheyne, Mark A
- DNR
Sent: 12 June 2007 23:24
To: Neil Sleightholm; wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] VB6 runtime merge modules problem SOLUTION
Neil was right on. First of all, if I'd installed orca.exe first, I could
have answered my first question by examining the guts of the MSMs. Not the
easiest tool to get ahold of, but I found a guy who linked it to his blog:
http://blogs.msdn.com/astebner/archive/2004/07/12/180792.aspx
As for my second question- why I got the build errors when merging the
MS-provided MSMs, Neil was also right on in his reply to my other post:
http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg09448.html.
I added the same 6 EnsureTable elements to my Package element, no more build
problems when I merge the VB6 runtime MSMs. Yay!
Thanks, Neil.
_____
From: Neil Sleightholm [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 12, 2007 4:13 PM
To: Cheyne, Mark A - DNR; wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] VB6 runtime merge modules problem
That's funny I was just looking at exactly the same thing, here is what I
found:
oleaut32.msm - installs olepro32.dll, stdole2.tlb, asycfilt.dll and
oleaut32.dll
msvbvm60.msm - installs msvbvm60.dll
comcat.msm - installs comcat.dll
Hope this helps.
If you need to find out what the other merge modules install try using Orca
from the platform sdk.
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 20:46
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] VB6 runtime merge modules problem
Hope I'm not wearing out my welcome on this list with all my queries in the
last few days...
As I understand, a VB6 program is at a minimum dependent on the following
files that constitute the VB6 runtime:
1. msvbvm60.dll
2. oleaut32.dll
3. olepro32.dll
4. comcat.dll
5. asycfilt.dll
6. stdole2.tlb
(For reference, see
http://support.microsoft.com/default.aspx?scid=kb;en-us;290887 and
http://nsis.sourceforge.net/Docs/AppendixB.html#B.4)
I found a package of *.msm files for VB6 at the Visual Studio 6 SP6 download
page: http://msdn2.microsoft.com/en-us/vstudio/aa718364.aspx. They are all
dated 3/12/2004.
First question - which *.msm files are necessary to get all 6 of the above
DLLs? There is not a clear mapping of filenames in all cases. I think I need
comcat.msm, oleaut32.msm, and msvbvm60.msm, do I need others?
Second question - I get reams of build errors when I try to merge these, for
example in my *.wxs file I have:
<Merge Id="42ABC845-26F9-42ED-BBC9-D1B77F961242" Language="1033"
SourceFile="./msm/msvbvm60.msm" DiskId="1" />
Inside a <Directory> element, and then later in my <Feature> element I
include a <MergeRef>, for example
<MergeRef Id="42ABC845-26F9-42ED-BBC9-D1B77F961242"/>
Which leads to a bunch of errors like:
Error LGHT0204: ICE03: Table: Registry Column: Registry Missing
specifications in _Validation Table (or Old Database)
Can anyone elaborate? Do I have bad versions of the *.msm files, or should I
not be using WiX 3.0?
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