Bugs item #1536525, was opened at 2006-08-08 02:28
Message generated for change (Comment added) made by derekc
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1536525&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: 9
Submitted By: Neil Corcoran (superrobot)
Assigned to: Derek (derekc)
Summary: light.exe crashes when ICE03: String overflow is encountered

Initial Comment:
I've been running heat on some directories to try to
generate merge modules.
Everything has been going well until one directory
which has files with long file names gets processed by
light. light.exe crashes because of this.
The component
tmp.wxs(3482) : warning LGHT1076 : ICE03: String
overflow (greater
than length permitted in column); Table: Component,
Column: Component,
Key(s):
apifnsm_adjust_agc_module_params.html.E2904247_E12E_4BA8_9815_E506E96D53DA

Once this happens light crashes and the debugger says:
"Unhandled exception at 0x003c32d8 in light.exe:
0xC0000005: Access
violation reading location 0xffffffff. "

If I process the wxs file to reduce the length of the
Component ids and File ids, no ICE warnings occur and
no crash occurs.

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

>Comment By: Derek (derekc)
Date: 2006-08-08 10:16

Message:
Logged In: YES 
user_id=518766

Skipping validation won't test the scenario I'm interested
in.  Crashing light is fine.  It should still produce a
merge module file in the validation temporary location.  If
light crashes without reporting the validation temp
location, you can monitor your temp directory and just look
in the one of the most recent folders - it will contain the
likely corrupted file.

Yes, a merge module should be equivalent to an MSI.

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

Comment By: Neil Corcoran (superrobot)
Date: 2006-08-08 03:45

Message:
Logged In: YES 
user_id=1325971

MSI.dll - version 3.1.4000.2435
darice.cub from wix-3.0.1821.0-binaries.zip
19/04/2006  02:16           647,168 darice.cub

If I run 
> light.exe --notidy product.wixobj
it crashes before it can generate the files you mentioned.

I tried 
> light.exe -sval -notidy product.wixobj
to avoid the validation and it does complete
and I get the following

Binder temporary directory located at
'C:\DOCUME~1\blah\LOCALS~1\Temp\4cbwmebq'.

which contains
08/08/2006  11:26    <DIR>          .
08/08/2006  11:26    <DIR>          ..
08/08/2006  11:26         5,432,104 #MergeModule.CABinet
08/08/2006  11:26                69 AdminExecuteSequence.idt
08/08/2006  11:26                64 AdminUISequence.idt
08/08/2006  11:26                68 AdvtExecuteSequence.idt
08/08/2006  11:26           556,515 Component.idt
08/08/2006  11:26                65 CustomAction.idt
08/08/2006  11:26            86,258 Directory.idt
08/08/2006  11:26                69 FeatureComponents.idt
08/08/2006  11:26           403,240 File.idt
08/08/2006  11:26                71 InstallExecuteSequence.idt
08/08/2006  11:26                66 InstallUISequence.idt
08/08/2006  11:26           305,792 ModuleComponents.idt
08/08/2006  11:26               144
ModuleInstallExecuteSequence.idt
08/08/2006  11:26               136 ModuleSignature.idt
08/08/2006  11:26           268,677 MsiFileHash.idt
08/08/2006  11:26               388 _SummaryInformation.idt
08/08/2006  11:26             7,941 _Validation.idt
              17 File(s)      7,061,667 bytes
               2 Dir(s)   3,749,974,016 bytes free

Will it generate the files you want for a merge module?
If I run 
> msiinfo.exe product.msm /D I get 
  String ID size: 2
  Code page: 0

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

Comment By: Derek (derekc)
Date: 2006-08-08 02:45

Message:
Logged In: YES 
user_id=518766

Ok, looks like your crashing in msi.dll.

Please try the following:
Run light with the -notidy option.  This should save two msi
files: one for the binder and one for the validator.

Take the msi file created for the validator and run:
msiinfo product.msi /D

msiinfo is available as part of the Windows Installer SDK. 
Running this command will perform a special check on the MSI
file to ensure its a legal MSI file.  Please let me know
what the result of this check is.

Also:
What version of Windows Installer is installed on your
machine (usually c:\windows\system32\msi.dll)?
Where did you get darice.cub from?

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

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

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to