WineHQ
Bug Tracking Database – Bug 26507

 Bugzilla

 

Last modified: 2021-07-26 10:18:43 UTC  

Muvee Reveal 8.0.1.1421 installer fails to extract its CABINET payload from embedded PE resource

Bug 26507 - Muvee Reveal 8.0.1.1421 installer fails to extract its CABINET payload from embedded PE resource
Muvee Reveal 8.0.1.1421 installer fails to extract its CABINET payload from e...
Status: CLOSED FIXED
AppDB: Show Apps affected by this bug
Product: Wine
Classification: Unclassified
Component: cabinet
1.3.16
x86 Linux
: P2 normal
: ---
Assigned To: Mr. Bugs
https://web.archive.org/web/202107261...
: download, Installer, patch
: 30176 33067 35161 (view as bug list)
Depends on:
Blocks: 26524
  Show dependency tree
 
Reported: 2011-03-21 10:34 UTC by Fabio Colella
Modified: 2021-07-26 10:18 UTC (History)
7 users (show)

See Also:
Regression SHA1:
Fixed by SHA1: 4ddb9f691597b71cc083eef0079daf91b224b3ba
Distribution: ---
Staged patchset:


Attachments
Various fixme on win, advapi and an error on cabinet (914 bytes, text/plain)
2011-03-21 10:34 UTC, Fabio Colella
Details
Winedebug=cabinet log (1.90 KB, text/plain)
2011-03-21 15:17 UTC, Fabio Colella
Details
various error and fixme on enum, win, advapi and cabinet (1.89 KB, text/plain)
2011-03-22 05:57 UTC, Fabio Colella
Details
muvee 7 log (841 bytes, text/plain)
2011-03-23 17:07 UTC, Fabio Colella
Details
patch (1.12 KB, text/plain)
2013-12-16 06:30 UTC, Dmitry Timoshkov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fabio Colella 2011-03-21 10:34:35 UTC
Created attachment 33746 [details]
Various fixme on win, advapi and an error on cabinet

I'm not able to run the installer of the application. I tried using native libraries for: advapi32, cabinet and wininet.
When the installer runs just stops after a screen reporting that found a critical problem that caused the app to crash.
Comment 1 André Z. 2011-03-21 14:32:10 UTC
please attach a WINEDEBUG=cabinet log
Comment 2 Fabio Colella 2011-03-21 15:17:34 UTC
Created attachment 33749 [details]
Winedebug=cabinet log

I made the log you asked me.
Comment 3 André Z. 2011-03-21 16:36:35 UTC
thx,
one line looks strange
trace:cabinet:FDICopy full cab path/file name: "*CABINET\\*RESOURCE"

can't tell more atm...
Comment 4 Fabio Colella 2011-03-21 18:03:25 UTC
(In reply to comment #3)
> thx,
> one line looks strange
> trace:cabinet:FDICopy full cab path/file name: "*CABINET\\*RESOURCE"
> 
> can't tell more atm...

Ok, have a good work!
I'm here if you need more infos.
Comment 5 Fabio Colella 2011-03-22 05:57:41 UTC
Created attachment 33764 [details]
various error and fixme on enum, win, advapi and cabinet

I'm sorry, I just discovered that I hat to report bugs without dll.
This is the log.
Comment 6 André Z. 2011-03-22 13:58:00 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > thx,
> > one line looks strange
> > trace:cabinet:FDICopy full cab path/file name: "*CABINET\\*RESOURCE"
> > 
> > can't tell more atm...
> 
> Ok, have a good work!
> I'm here if you need more infos.

i'm totally sure that path/file name should really be a path with filename, at least wine expects that. i did some tests which confirmed that behaviour so maybe the problem lies somewhere else
Comment 7 Fabio Colella 2011-03-22 18:20:00 UTC
(In reply to comment #6)
> (In reply to comment #4)
> > (In reply to comment #3)
> > > thx,
> > > one line looks strange
> > > trace:cabinet:FDICopy full cab path/file name: "*CABINET\\*RESOURCE"
> > > 
> > > can't tell more atm...
> > 
> > Ok, have a good work!
> > I'm here if you need more infos.
> 
> i'm totally sure that path/file name should really be a path with filename, at
> least wine expects that. i did some tests which confirmed that behaviour so
> maybe the problem lies somewhere else

Ok, how can I help you?
Comment 8 Fabio Colella 2011-03-23 17:07:03 UTC
Created attachment 33788 [details]
muvee 7 log

I report a similar problem on Muvee Reveal 7
Comment 9 Anastasius Focht 2011-03-23 17:46:00 UTC
Hello,

adding download for 8.x

Regards
Comment 10 Louis Lenders 2011-10-22 14:49:13 UTC
still present in wine wine-1.3.31
Comment 11 Frédéric Delanoy 2013-07-06 17:58:55 UTC
Still in wine-1.6-rc4-52-g9a0b4347

Installer fails during initial extraction process (before installation proper)

Probably in cabinet: 

trace:cabinet:FDICopy full cab path/file name: "*CABINET\\*RESOURCE"
trace:cabinet:FDI_read_entries (fdi == ^0x6941168, hf == 110367128, pfdici == ^0x33bc88)
warn:cabinet:FDICopy FDI_read_entries failed: 2
Comment 12 Anastasius Focht 2013-12-07 12:11:43 UTC
Hello folks,

still present.

The problem seems to be that Wine's builtin cabinet can't deal with CABINET resource embedded in PE file.

Relevant part of trace log:

--- snip ---
...
0024:Call KERNEL32.LoadLibraryW(0048f78c L"Cabinet.dll") ret=0042be9a
0024:Ret  KERNEL32.LoadLibraryW() retval=7e240000 ret=0042be9a
0024:Call KERNEL32.GetProcAddress(7e240000,0048f780 "FDICreate") ret=0042beae
0024:Ret  KERNEL32.GetProcAddress() retval=7e244b40 ret=0042beae
0024:Call KERNEL32.GetProcAddress(7e240000,0048f778 "FDICopy") ret=0042bec2
0024:Ret  KERNEL32.GetProcAddress() retval=7e244b70 ret=0042bec2
0024:Call KERNEL32.GetProcAddress(7e240000,0048f768 "FDIIsCabinet") ret=0042bed6
0024:Ret  KERNEL32.GetProcAddress() retval=7e244b58 ret=0042bed6
0024:Call KERNEL32.GetProcAddress(7e240000,0048f75c "FDIDestroy") ret=0042beea
0024:Ret  KERNEL32.GetProcAddress() retval=7e244b88 ret=0042beea
0024:Call cabinet.FDICreate(00429e80,0042a870,0042ba30,0042b240,0042a890,0042b260,0042b2b0,00000001,0033e044) ret=0042bf54
0024:trace:cabinet:FDICreate (pfnalloc == ^0x429e80, pfnfree == ^0x42a870, pfnopen == ^0x42ba30, pfnread == ^0x42b240, pfnwrite == ^0x42a890, pfnclose == ^0x42b260, pfnseek == ^0x42b2b0, cpuType == 1, perf == ^0x33e044)
0024:Call ntdll.RtlAllocateHeap(06936000,00000000,00000024) ret=00463e35
0024:Ret  ntdll.RtlAllocateHeap() retval=06940f60 ret=00463e35
0024:Ret  cabinet.FDICreate() retval=06940f60 ret=0042bf54 
...
0024:Call KERNEL32.FindResourceW(00400000,0693e0f8 L"#6699",0693e5b0 L"#10") ret=0042a01e
0024:Ret  KERNEL32.FindResourceW() retval=004b4fd8 ret=0042a01e
0024:Call KERNEL32.LoadResource(00400000,004b4fd8) ret=0042a028
0024:Ret  KERNEL32.LoadResource() retval=004ea12c ret=0042a028
0024:Call KERNEL32.LockResource(004ea12c) ret=0042a02f
0024:Ret  KERNEL32.LockResource() retval=004ea12c ret=0042a02f
0024:Call KERNEL32.SizeofResource(00400000,004b4fd8) ret=0042a03d
0024:Ret  KERNEL32.SizeofResource() retval=0633b15d ret=0042a03d 
...
0024:Call KERNEL32.WideCharToMultiByte(0000fde9,00000000,069425a8 L"*CABINET\\",ffffffff,06943178,00000258,00000000,00000000) ret=00428fbb
0024:Ret  KERNEL32.WideCharToMultiByte() retval=0000000a ret=00428fbb
0024:Call KERNEL32.WideCharToMultiByte(0000fde9,00000000,06942a60 L"*RESOURCE",ffffffff,06942f18,00000258,00000000,00000000) ret=00428fbb
0024:Ret  KERNEL32.WideCharToMultiByte() retval=0000000a ret=00428fbb
0024:Call cabinet.FDICopy(06940f60,06942f18,06943178,00000000,0042b2d0,00000000,0033cf58) ret=0042b761
0024:trace:cabinet:FDICopy (hfdi == ^0x6940f60, pszCabinet == "*RESOURCE", pszCabPath == "*CABINET\\", flags == 0, pfnfdin == ^0x42b2d0, pfnfdid == ^(nil), pvUser == ^0x33cf58)
0024:Call ntdll.RtlAllocateHeap(06936000,00000000,00016f60) ret=00463e35
0024:Ret  ntdll.RtlAllocateHeap() retval=06949ba8 ret=00463e35
0024:trace:cabinet:FDICopy full cab path/file name: "*CABINET\\*RESOURCE"
0024:Call ntdll.RtlAllocateHeap(06936000,00000000,000004b0) ret=00463e35
0024:Ret  ntdll.RtlAllocateHeap() retval=069433d8 ret=00463e35
0024:Call KERNEL32.MultiByteToWideChar(0000fde9,00000000,0033bb84 "*CABINET\\*RESOURCE",ffffffff,069433d8,00000258) ret=0042b37f
0024:Ret  KERNEL32.MultiByteToWideChar() retval=00000013 ret=0042b37f
...
0024:trace:cabinet:FDI_read_entries (fdi == ^0x6940f60, hf == 110366608, pfdici == ^0x33bcb0)
0024:Call KERNEL32.GetLastError() ret=00468d49
0024:Ret  KERNEL32.GetLastError() retval=00000002 ret=00468d49
0024:warn:cabinet:FDICopy FDI_read_entries failed: 2
...
0024:Ret  cabinet.FDICopy() retval=00000000 ret=0042b761 
...
0024:Call cabinet.FDIDestroy(06940f60) ret=00429e4e
0024:trace:cabinet:FDIDestroy (hfdi == ^0x6940f60)
...
0024:Ret  cabinet.FDIDestroy() retval=00000001 ret=00429e4e 
...
--- snip ---

I extracted the PE resource using LordPE and it's indeed a .cab file:

--- snip --
$ file res#6699.cab 
res#6699.cab: Microsoft Cabinet archive data, 104051037 bytes, 37 files
--- snip --

'winetricks cabinet' works around.
Though this override will later lead to a crash because Wine's msi doesn't seem to like native cabinet.

Mapping/access of the PE resource/file is handled by the application provided callback.
There is most likely something wrong with placement/order of notifications sent within FDICopy().

$ sha1sum muveeReveal_8.0.1.14210_2299.exe 
93db0d86103c8ed4e3c3ecff367468f2b120e8dc  muveeReveal_8.0.1.14210_2299.exe

$ du -sh muveeReveal_8.0.1.14210_2299.exe 
101M	muveeReveal_8.0.1.14210_2299.exe

$ wine --version
wine-1.7.8-128-g37460b6

Regards
Comment 13 Anastasius Focht 2013-12-07 12:32:23 UTC
*** Bug 30176 has been marked as a duplicate of this bug. ***
Comment 14 Dmitry Timoshkov 2013-12-16 06:30:28 UTC
Created attachment 46873 [details]
patch

Does the attached patch help?
Comment 15 Frédéric Delanoy 2013-12-16 07:05:33 UTC
(In reply to comment #14)
> Created attachment 46873 [details]
> patch
> 
> Does the attached patch help?

Seems to work for me.
Comment 16 Anastasius Focht 2013-12-18 08:31:19 UTC
*** Bug 35161 has been marked as a duplicate of this bug. ***
Comment 17 Anastasius Focht 2013-12-31 11:36:19 UTC
Hello folks,

this is fixed by commit http://source.winehq.org/git/wine.git/commitdiff/4ddb9f691597b71cc083eef0079daf91b224b3ba

Thanks Dmitry 

Regards
Comment 18 Alexandre Julliard 2014-01-03 13:10:23 UTC
Closing bugs fixed in 1.7.10.
Comment 19 Anastasius Focht 2015-02-08 07:30:57 UTC
*** Bug 33067 has been marked as a duplicate of this bug. ***


Privacy Policy
If you have a privacy inquiry regarding this site, please write to [email protected]

Hosted By CodeWeavers