Bugs item #1954901, was opened at 2008-04-30 08:56
Message generated for change (Comment added) made by dmillen
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1954901&group_id=105970

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: light
Group: v3.0
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Drew Millen (dmillen)
Assigned to: Nobody/Anonymous (nobody)
Summary: Light fails to link merge module.

Initial Comment:
This defect occurs when using WiX version 3.0.4025.0 or 3.0.4014.0.  I can 
verify that this defect does not occur using WiX version 3.0.3829.0.

I have created a Wix product which integrates a merge module published by "Data 
Dynamics Active Reports for .NET 3.0".

I am not able to attached the merge module to this defect report due to its 
file size.  When light attempts to link the merge module, it reports the 
following error with stack trace:

errorLGHT0001: Failed to fetch a File row from the database that was merged in 
from a module.
Exception Type: System.InvalidOperationException
Stack Trace:
at Microsoft.Tools.WindowsInstallerXml.Binder.MergeModules(String 
tempDatabaseFile, Output output, FileRowCollection fileRows, StringCollection 
suppressedTableNames)
at Microsoft.Tools.WindowsInstallerXml.Binder.BindDatabase(Output output, 
String databaseFile)
at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output, String file)
at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args)
Binder temporary directory located at 
'C:\Users\autobuild\AppData\Local\Temp\pz4wquhn'.
Validator temporary directory located at 
'C:\Users\autobuild\AppData\Local\Temp\uxsp3tis'.



----------------------------------------------------------------------

>Comment By: Drew Millen (dmillen)
Date: 2008-05-07 14:43

Message:
Logged In: YES 
user_id=2076144
Originator: YES

Hi Robmen,

I haven't seen any errors which report, 'Error: Failed to merge Row:
PIDKEY into Table: Property'.

I'm also a little unclear on what the PIDKEY property is.  Can you please
elaborate?  The Active Reports Merge Module is the only merge module I'm
using.  In the event that the vendor (Data Dynamics) is unable to
"correctly modularize" the merge module in my timeline, is there something
I can do to my project to ensure that there will be no 'PIDKEY' conflicts?

Thanks!

----------------------------------------------------------------------

Comment By: Rob Mensching (robmen)
Date: 2008-05-06 12:17

Message:
Logged In: YES 
user_id=991639
Originator: NO

The problem is that you have a conflict on the PIDKEY property.

>> Error: Failed to merge Row: PIDKEY into Table: Property

It appears the Merge Module is trying to merge in a property that is not
correctly modularized (missing the .MODULE_ID on the end) and is colliding
with the property in your MSI or from another Merge Module that didn't
follow the spec either.  Talk to the vendor of the Merge Module to get a
fixed Merge Module.

----------------------------------------------------------------------

Comment By: Drew Millen (dmillen)
Date: 2008-05-04 15:02

Message:
Logged In: YES 
user_id=2076144
Originator: YES

Strange.  I can't replicate the problem with the product.wxs file you
attached, but I am still able to replicate it with my WiX product.  The
inclusion of the merge module within my product is defined similarly to
product.wxs with the following differences:

1.) <Merge ... /> does not contain the FileCompression="yes" attribute. 
Removing this from produt.wxs still did not replicate the issue.

2.) <MergeRef .../> is only used once, in the top-level feature (i.e., it
is not also in a sub feature).  Again, running light having removed the two
other <MergeRef .../> references in product.wxs did not replicate the
issue.

What other differences might I look for between my WiX project and the
simple example you attached?  The installer I'm creating is quite complex. 
It uses IIS and Util WiX Extensions, and is comprised of 21 wxs files (most
of which are fragements with UI dialogs).  Perhaps another notable
difference is that my product uses <AdvertiseExecuteSequence ... /> and
<InstallExecuteSequence ... /> and does not contain the <EnsureTable ../>
elements which product.wxs defines.

----------------------------------------------------------------------

Comment By: Bob Arnson (barnson)
Date: 2008-05-03 11:11

Message:
Logged In: YES 
user_id=26581
Originator: NO

That sounds right. If a prior version of mergemod.dll works, the bug is
likely in mergemod. But I haven't been able to reproduce the problem, even
with the same version of ActiveReportsDistrib.msm. Can you try the
product.wxs sample I attached to this bug? I used the following command
line:

candle.exe product.wxs & light.exe product.wixobj

(ActiveReportsDistrib.msm has some ICE39 warnings but no other errors.)
File Added: product.wxs

----------------------------------------------------------------------

Comment By: Drew Millen (dmillen)
Date: 2008-05-02 08:41

Message:
Logged In: YES 
user_id=2076144
Originator: YES

Ok.  I copied mergemod.dll from the 3.0.4014 installation bin directory
into the bin directory of a 3.0.3829 installation.  Looks like the version
of mergemod.dll used in WiX 3.0.4014 is 4.0.6001.17131 (compared to the
version used in WiX 3.0.3829 which is 3.0.3790.371).  

When attempting to run the installer with the replaced DLL, the error
occurs again:
"light.exe : error LGHT0001: Failed to fetch a File row from the database
that was merged in from a module.".

Does this mean that I should be able to use the latest version of WiX
(3.0.4025) if I replace mergemod.dll with an older version?  Will this
likely be your course of action for resolving the issue?  Is mergemod.dll a
Microsoft assembly?

Please excuse the verbosity of this post; I want to be sure I've done
exactly what you were suggesting.

----------------------------------------------------------------------

Comment By: Bob Arnson (barnson)
Date: 2008-05-01 20:50

Message:
Logged In: YES 
user_id=26581
Originator: NO

OK. Can you go back to 3.0.3829 or 3.0.3907 and copy mergemod.dll from the
3.0.4014 bin directory? We're trying to figure out if the bug is in
mergemod.dll or with changes we introduced in the last couple of weeks
about how light.exe loads mergemod.dll.

----------------------------------------------------------------------

Comment By: Drew Millen (dmillen)
Date: 2008-05-01 08:32

Message:
Logged In: YES 
user_id=2076144
Originator: YES

Using arn3_528352msm.

----------------------------------------------------------------------

Comment By: Bob Arnson (barnson)
Date: 2008-04-30 21:52

Message:
Logged In: YES 
user_id=26581
Originator: NO

Are you using arn3_528351msm or arn3_528352msm (the latest for .NET 1.1
and 2.0) or some other version?

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1954901&group_id=105970

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to