Menu

#1134 Light fails while adding merge module

v3.0
closed
light (353)
2013-11-27
2008-03-10
david
No

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.

Discussion

  • Jaap de Wolff

    Jaap de Wolff - 2008-03-31

    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.

     
  • Bob Arnson

    Bob Arnson - 2008-05-03

    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.

     
  • david

    david - 2008-05-05

    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.

    Warning: Changes were not saved to MSI Database.
    Closed MSI Database.

    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

     
  • Bob Arnson

    Bob Arnson - 2008-05-06

    Logged In: YES
    user_id=26581
    Originator: NO

    Please attach merge.log.

     
  • david

    david - 2008-05-06

    Merge Log

     
  • david

    david - 2008-05-06

    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

     
  • Rob Mensching

    Rob Mensching - 2008-05-15

    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.

     
  • david

    david - 2008-05-15

    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

     
  • Rob Mensching

    Rob Mensching - 2008-05-16

    Logged In: YES
    user_id=991639
    Originator: NO

    dmm, maybe the wrong merge.log was attached. There is only one failure in the log:

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

    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.

     
  • david

    david - 2008-05-16

    Merge & Light logs

     
  • david

    david - 2008-05-16

    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

     
  • Rob Mensching

    Rob Mensching - 2008-05-17

    Logged In: YES
    user_id=991639
    Originator: NO

    Thank you, those log files should help us get to the root of the problem.

     
  • Rob Mensching

    Rob Mensching - 2008-05-30

    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.

     
  • david

    david - 2008-06-10

    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

     
  • david

    david - 2008-06-10

    Merge logs + light output, WiX 2.0.5805.0 + mergemod.dll v4.5.6001.22192

     
  • Bob Arnson

    Bob Arnson - 2008-06-10

    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.