https://bugs.winehq.org/show_bug.cgi?id=38959
Bug ID: 38959 Summary: Microsoft .NET Framework 4.6 web installer fails silently (unable to load series of compressed PNG icon images from ICO files) Product: Wine Version: 1.7.47 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: user32 Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
as the summary says.
Prerequisite: WINEPREFIX Windows version set to 'Windows Vista' or higher.
Unwrapped the inner installer for easier reproduce.
Trace log:
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+msi,+resource,+icon,+cursor wine ./Setup.exe /x86 /x64 /web >>log.txt 2>&1 ... 0034:Call user32.LoadImageW(00000000,00e228e0 L"Z:\home\focht\Downloads\installer\graphics\Rotate1.ico",00000001,00000000,00000000,00000010) ret=0039967e 0034:trace:resource:LoadImageW ((nil),L"Z:\home\focht\Downloads\installer\graphics\Rotate1.ico",1,0,0,0x00000010) 0034:trace:cursor:CURSORICON_Load (nil), L"Z:\home\focht\Downloads\installer\graphics\Rotate1.ico", 0x0, depth 32, fCursor 0, flags 0x0010 0034:trace:cursor:CURSORICON_LoadFromFile loading L"Z:\home\focht\Downloads\installer\graphics\Rotate1.ico" 0034:warn:cursor:create_icon_from_bmi invalid header size 1196314761 0034:trace:cursor:CURSORICON_LoadFromFile loaded L"Z:\home\focht\Downloads\installer\graphics\Rotate1.ico" -> (nil) 0034:Ret user32.LoadImageW() retval=00000000 ret=0039967e ... 0034:Call user32.LoadImageW(00000000,00e228e0 L"Z:\home\focht\Downloads\installer\graphics\Rotate10.ico",00000001,00000000,00000000,00000010) ret=0039967e 0034:trace:resource:LoadImageW ((nil),L"Z:\home\focht\Downloads\installer\graphics\Rotate10.ico",1,0,0,0x00000010) 0034:trace:cursor:CURSORICON_Load (nil), L"Z:\home\focht\Downloads\installer\graphics\Rotate10.ico", 0x0, depth 32, fCursor 0, flags 0x0010 0034:trace:cursor:CURSORICON_LoadFromFile loading L"Z:\home\focht\Downloads\installer\graphics\Rotate10.ico" 0034:warn:cursor:create_icon_from_bmi invalid header size 1196314761 0034:trace:cursor:CURSORICON_LoadFromFile loaded L"Z:\home\focht\Downloads\installer\graphics\Rotate10.ico" -> (nil) 0034:Ret user32.LoadImageW() retval=00000000 ret=0039967e ... 0034:Call KERNEL32.RaiseException(c000008c,00000001,00000000,00000000) ret=003995ac 0034:trace:seh:raise_exception code=c000008c flags=1 addr=0x7b845ccd ip=7b845ccd tid=0034 0034:trace:seh:raise_exception eax=7b832afd ebx=00000000 ecx=01ede830 edx=00000001 esi=01ede874 edi=01ede840 0034:trace:seh:raise_exception ebp=01ede818 esp=01ede7b4 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00200246 0034:trace:seh:call_stack_handlers calling handler at 0x100a52df code=c000008c flags=1 --- snip ---
It fails to load series of compressed PNG images embedded in ICO images. This is a feature that is supported on Windows Vista or higher.
--- quote --- Windows Vista added a 256×256-pixel icon view to Windows Explorer, as well as support for the compressed PNG format. Although compression is not required, Microsoft recommends that all 256×256 icons in ICO files should be stored in PNG format to reduce the overall size of the file.[7] The Windows Vista Explorer supports smoothly scaling icons to non-standard sizes which are rendered on the fly even if an image is not present for that size in the icon file. The Windows Vista shell adds a slider for "zooming" the icon sizes in and out. With users using higher resolutions and high DPI modes, larger icon formats (such as 256×256) are recommended.[7] --- quote ---
Image properties:
--- snip --- installer/Graphics>$ file *
Print.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors Rotate10.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors Rotate1.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors Rotate2.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors Rotate3.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors Rotate4.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors Rotate5.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors Rotate6.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors Rotate7.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors Rotate8.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors Rotate9.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors Save.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors Setup.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors stop.ico: MS Windows icon resource - 36 icons, 256x256, 16 colors SysReqMet.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors SysReqNotMet.ico: MS Windows icon resource - 19 icons, 256x256, 16 colors warn.ico: MS Windows icon resource - 36 icons, 256x256, 16 colors
installer/Graphics>$ identify Rotate1.ico
Rotate1.ico[0] ICO 256x256 256x256+0+0 8-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[1] ICO 48x48 48x48+0+0 4-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[2] ICO 32x32 32x32+0+0 4-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[3] ICO 24x24 24x24+0+0 4-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[4] ICO 16x16 16x16+0+0 4-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[5] ICO 256x256 256x256+0+0 8-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[6] ICO 48x48 48x48+0+0 8-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[7] ICO 32x32 32x32+0+0 8-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[8] ICO 24x24 24x24+0+0 8-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[9] ICO 16x16 16x16+0+0 8-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[10] ICO 256x256 256x256+0+0 8-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[11] ICO 128x128 128x128+0+0 32-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[12] ICO 64x64 64x64+0+0 32-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[13] ICO 48x48 48x48+0+0 32-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[14] ICO 40x40 40x40+0+0 32-bit sRGB 144KB 0.000u 0:00.009 Rotate1.ico[15] ICO 32x32 32x32+0+0 32-bit sRGB 144KB 0.000u 0:00.000 Rotate1.ico[16] ICO 24x24 24x24+0+0 32-bit sRGB 144KB 0.000u 0:00.000 Rotate1.ico[17] ICO 20x20 20x20+0+0 32-bit sRGB 144KB 0.000u 0:00.000 Rotate1.ico[18] ICO 16x16 16x16+0+0 32-bit sRGB 144KB 0.000u 0:00.000 --- snip ---
$ sha1sum NDP46-KB3045560-Web.exe 480ca134b9e3f2437df10719d5a8c77ddec0a4f1 NDP46-KB3045560-Web.exe
$ du -sh NDP46-KB3045560-Web.exe 1.5M NDP46-KB3045560-Web.exe
$ wine --version wine-1.7.47-162-g0f9a0aa
Regards
https://bugs.winehq.org/show_bug.cgi?id=38959
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer URL| |http://download.microsoft.c | |om/download/1/4/A/14A6C422- | |0D3C-4811-A31F-5EF91A83C368 | |/NDP46-KB3045560-Web.exe
https://bugs.winehq.org/show_bug.cgi?id=38959
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=38959
Luke lukebenes@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lukebenes@hotmail.com
https://bugs.winehq.org/show_bug.cgi?id=38959
Ker noa blue-t@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |blue-t@web.de
https://bugs.winehq.org/show_bug.cgi?id=38959
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/user32-PNG_Sup | |port CC| |dmitry@baikal.ru, | |erich.e.hoover@wine-staging | |.com, michael@fds-team.de, | |sebastian@fds-team.de
https://bugs.winehq.org/show_bug.cgi?id=38959
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |contato.yurifidelis@gmail.c | |om
--- Comment #1 from Sebastian Lackner sebastian@fds-team.de --- *** Bug 32917 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=38959
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |42170
https://bugs.winehq.org/show_bug.cgi?id=38959
winetaste@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetaste@gmx.net
https://bugs.winehq.org/show_bug.cgi?id=38959
--- Comment #2 from winetaste@gmx.net --- There is a patch in staging. Cannot find any discussion about it. What keeps this patch out of the wine?
https://bugs.winehq.org/show_bug.cgi?id=38959
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|STAGED |RESOLVED Fixed by SHA1| |b53d84b947f93ab6848c8614c37 | |e76b5dfb37f50
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
this is fixed by commit series:
* https://source.winehq.org/git/wine.git/commitdiff/728255cf2ceca073e0818a310b... ("user32: Add support for PNG icons.") * https://source.winehq.org/git/wine.git/commitdiff/b1631d69da38a2820db6b500e1... ("user32: Try to load libpng only once.") * https://source.winehq.org/git/wine.git/commitdiff/9dc886244bcc21468c88f4951b... ("user32: Ignore PNG icons instead of failing if we don't have libpng.") * https://source.winehq.org/git/wine.git/commitdiff/b53d84b947f93ab6848c8614c3... ("user32: Add support for loading 256x256 icons.")
Thanks Dmitry, Alexandre.
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+msi,+resource,+icon,+cursor wine ./Setup.exe /x86 /x64 /web >>log.txt 2>&1 ... 0036:Call user32.LoadImageW(00000000,00d62ff0 L"Z:\home\focht\Downloads\graphics\Rotate1.ico",00000001,00000000,00000000,00000010) ret=003b967e 0036:trace:resource:LoadImageW ((nil),L"Z:\home\focht\Downloads\graphics\Rotate1.ico",1,0,0,0x00000010) 0036:trace:cursor:CURSORICON_Load (nil), L"Z:\home\focht\Downloads\graphics\Rotate1.ico", 0x0, depth 32, fCursor 0, flags 0x0010 0036:trace:cursor:CURSORICON_LoadFromFile loading L"Z:\home\focht\Downloads\graphics\Rotate1.ico" 0036:trace:cursor:CURSORICON_FindBestIcon entry 0: 256 x 256, 32 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 1: 48 x 48, 4 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 2: 32 x 32, 4 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 3: 24 x 24, 4 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 4: 16 x 16, 4 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 5: 256 x 256, 32 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 6: 48 x 48, 8 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 7: 32 x 32, 8 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 8: 24 x 24, 8 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 9: 16 x 16, 8 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 10: 256 x 256, 32 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 11: 128 x 128, 32 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 12: 64 x 64, 32 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 13: 48 x 48, 32 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 14: 40 x 40, 32 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 15: 32 x 32, 32 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 16: 24 x 24, 32 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 17: 20 x 20, 32 bpp 0036:trace:cursor:CURSORICON_FindBestIcon entry 18: 16 x 16, 32 bpp 0036:trace:cursor:CURSORICON_LoadFromFile loaded L"Z:\home\focht\Downloads\graphics\Rotate1.ico" -> 0x100b4 0036:Ret user32.LoadImageW() retval=000100b4 ret=003b967e --- snip ---
NOTE: The installer still suffers from other known issues.
$ wine --version wine-3.5-70-g2986e89501
Regards
https://bugs.winehq.org/show_bug.cgi?id=38959
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.6.
https://bugs.winehq.org/show_bug.cgi?id=38959
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://download.microsoft.c |https://web.archive.org/web |om/download/1/4/A/14A6C422- |/20150907231102/http://down |0D3C-4811-A31F-5EF91A83C368 |load.microsoft.com/download |/NDP46-KB3045560-Web.exe |/1/4/A/14A6C422-0D3C-4811-A | |31F-5EF91A83C368/NDP46-KB30 | |45560-Web.exe