Log output:
Updating file information.
Generating database.
Merging modules.
light.exe : error LGHT0001 : Error HRESULT E_FAIL has been returned from a call to a COM component.
Exception Type: System.Runtime.InteropServices.COMException
Stack Trace:
at Microsoft.Tools.WindowsInstallerXml.IMsmMerge2.Merge(String feature, String directory)
at Microsoft.Tools.WindowsInstallerXml.Binder.MergeModules(String databasePath, Output output) in c:\WiXbuilds\v2.0.5805.0.dmm\src\wix\Binder.cs:line 1432
at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output) in c:\WiXbuilds\v2.0.5805.0.dmm\src\wix\Binder.cs:line 390
at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args) in c:\WiXbuilds\v2.0.5805.0.dmm\src\light\light.cs:line 467
Tested with v2.0.5805.0 using older version of mergemod.dll [from v2.0.5213.0 release], compiled without error ... also tested with mergemod.dll from
v3.0.3829.0 release, compiled without error.
Attempted to attach merge module for testing ... but it's too large [340k] ... will email if desired.
Logged In: YES
user_id=238263
Originator: NO
VC_User_CRT71_RTL_X86_---.msm is one of the msm's with can cause this error.
This msm is delivered with Visual Studio .NET 2003.
Logged In: YES
user_id=26581
Originator: NO
Try building with light's -notidy switch to save merge.log, which should contain extra details about the actual error.
Logged In: YES
user_id=1376583
Originator: YES
Per Bob's suggestion, I ran a test with the -notidy switch ... and reviewed
the merge.log file from a failing LIGHT run.
The log shows these lines as the last entries:
Merging Table: Shortcut
Closed Merge Module.
Subsequent testing using the same merge modules [but dropping the empty Shortcut tables]
worked properly ...
What is odd is that there are numerous errors shown in the log before the warning, and
these did not cause the run to fail ...
I can provide more info if needed ...
Thanks,
-dmm
Logged In: YES
user_id=26581
Originator: NO
Please attach merge.log.
Merge Log
Logged In: YES
user_id=1376583
Originator: YES
Here's the merge log ...
Using WiX v2.0.5805.0 with mergemod.dll v4.0.6000.16384 [as supplied in binaries archive].
Light log shows same failure(s) as originally described.
Thanks,
-dmm
File Added: mergeLog.zip
Logged In: YES
user_id=991639
Originator: NO
The problem is that the Merge Module you are merging in is invalid. The PIDKEY property is not properly modularized and is colliding with an existing property in your MSI. You need to fix the Merge Module (or have the author fix it if you didn't create it).
The error message could be better in WiX v2 but we're not going to an invasive change like that at this time.
Logged In: YES
user_id=1376583
Originator: YES
Hi Rob -
Sorry to be a pain, but this doesn't answer [at least to me, but I will confess to not being an expert here ... and throw myself on the mercy of the court <grin>] why the same failure occurs with VC_User_CRT71_RTL_X86_---.msm, or why simply deleting the Shortcut table 'fixed' the problem ...
I agree wholeheartedly that the CrystalReports merge modules are a nightmare ... but some of us are getting the same type of failure(s) in merge modules from other vendors [as in the case of the VC_User_CRT71_RTL_X86_---.msm module] or from modules which have been built in-house ...
If you'd like to take a look at one of my modules that causes this failure, please let know where/how to send it to you ... it's too large to attach here ...
I'm also not clear on why simply changing to an older version of mergemod.dll would also 'fix' the issue ... again, I'm not an expert ... but it looks to me like the new(er) version(s) of mergemod.dll are passing back something that WiX doesn't digest properly since the failing code hasn't changed [as far as I can tell] between the v2.0.5213.0 release and the 2 later versions ...
Thanks for your patience with this non-expert.
Best regards,
-dmm
Logged In: YES
user_id=991639
Originator: NO
dmm, maybe the wrong merge.log was attached. There is only one failure in the log:
That will end up causing MergeMod.dll to fail in the end. I'm not seeing anything in the log that matches the behavior you are describing. If you have more information, please do re-open the bug with additional info.
Merge & Light logs
Logged In: YES
user_id=1376583
Originator: YES
Thanks Rob ... here's the requested info ... <grin> ...
In the zip, you'll find 2 sets of light & merge logs.
Run01 is with failing module as delivered by the author [Microsoft], and it shows the failure ...
Run02 is different in only one way: the shortcut table has been dropped from the previously failing
module ...
For consistency, I used the exact same WiX project ... but commented out all but one Merge / MergeRef.
Hope this helps ...
-dmm
PS - de-wolff else has just submitted a new bug report on this specific merge module ... he had previously
commented on this bug [see comment history].
File Added: mergeLogs20080516.zip
Logged In: YES
user_id=991639
Originator: NO
Thank you, those log files should help us get to the root of the problem.
Logged In: YES
user_id=991639
Originator: NO
This should be fixed in the latest build. A bug was found in the mergemod.dll and was reported to the Windows Installer team. We have reverted to an older version of mergemod.dll that does not have the bug.
Logged In: YES
user_id=1376583
Originator: YES
Hi Rob -
I just tested this with WiX v2.0.5805.0 + mergemod.dll v4.5.6001.22192
[from the newly released Windows Installer v4.5 SDK], and it produces
the same failure.
Logs are attached in case it will help in tracking down the bug ...
Thanks for your efforts,
-dmm
File Added: 20080610.mergeLogs.zip
Merge logs + light output, WiX 2.0.5805.0 + mergemod.dll v4.5.6001.22192
Logged In: YES
user_id=26581
Originator: NO
The bug wasn't fixed in mergemod.dll 4.5. (4.5 was finished when I reported it.) Until the next release of MSI, the only fix is to downgrade mergemod.dll, which we've done.