http://bugs.winehq.org/show_bug.cgi?id=30514
Bug #: 30514 Summary: RonyaSoft Poster Designer (Poster Forge) 2.x installer crashes during installation of fonts due to unimplemented function gdi32.dll.GetFontResourceInfoW Product: Wine Version: 1.5.2 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: gdi32 AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net Classification: Unclassified
Hello,
as it says ...
--- snip --- ... 0034:Call KERNEL32.CreateProcessA(00000000,00409b50 ""C:\Program Files\RonyaSoft\Poster Designer\FontInstaller.exe" "install" "C:\users\Public\Documents\RonyaSoft\Poster Designer\Fonts" "Software\RonyaSoft\Poster Designer\Installer\NewFonts"",00000000,00000000,00000000,00000000,00000000,00000000,00422480,00e6e82c) ret=00405268 ... 0040:Call KERNEL32.__wine_kernel_init() ret=7bc530d2 ... 0034:Ret KERNEL32.CreateProcessA() retval=00000001 ret=00405268 ... 0040:Call KERNEL32.GetProcAddress(7e880000,005b8f94 "GetFontResourceInfoW") ret=0040aa2b 0040:Ret KERNEL32.GetProcAddress() retval=7e8912d8 ret=0040aa2b 0040:Call gdi32.AddFontResourceW(0053738c L"C:\users\Public\Documents\RonyaSoft\Poster Designer\Fonts\Lato-Bold\Lato-Bold.ttf") ret=004470c8 0040:Ret gdi32.AddFontResourceW() retval=00000001 ret=004470c8 0040:trace:seh:raise_exception code=80000100 flags=1 addr=0x7b839357 ip=7b839357 tid=0040 0040:trace:seh:raise_exception info[0]=7e91ad80 0040:trace:seh:raise_exception info[1]=7e91b1d6 wine: Call from 0x7b839357 to unimplemented function gdi32.dll.GetFontResourceInfoW, aborting 0040:trace:seh:call_stack_handlers calling handler at 0x44717b code=80000100 flags=1 0040:trace:seh:call_stack_handlers handler at 0x44717b returned 1 ... 0034:Call KERNEL32.lstrcpynA(0040a750,00422e20 "An error occured while installing fonts!",00000400) ret=004059f0 0034:Ret KERNEL32.lstrcpynA() retval=0040a750 ret=004059f0 0034:Call user32.MessageBoxIndirectA(004091d8) ret=004052ff --- snip ---
Source: http://source.winehq.org/git/wine.git/blob/e36370f04b036b6e0a4a5e5f6b60d3ca6...
--- snip --- 281 @ stub GetFontResourceInfo 282 @ stub GetFontResourceInfoW --- snip ---
Useful information: http://www.undocprint.org/winspool/getfontresourceinfo
(the site has lots of other interesting infos regarding printing/fonts)
A stub doesn't really make the installer happy ...
--- snip --- 0033:Call KERNEL32.GetProcAddress(7e890000,005b8f94 "GetFontResourceInfoW") ret=0040aa2b 0033:Ret KERNEL32.GetProcAddress() retval=7e89f54c ret=0040aa2b 0033:Call gdi32.AddFontResourceW(0053738c L"C:\users\Public\Documents\RonyaSoft\Poster Designer\Fonts\Lato-Bold\Lato-Bold.ttf") ret=004470c8 0033:Ret gdi32.AddFontResourceW() retval=00000001 ret=004470c8 0033:Call gdi32.GetFontResourceInfoW(0053e970 L"C:\users\Public\Documents\RonyaSoft\Poster Designer\Fonts\Lato-Bold\Lato-Bold.ttf",0033fd28,00000000,00000001) ret=0044711d 0033:fixme:font:GetFontResourceInfoW stub! (L"C:\users\Public\Documents\RonyaSoft\Poster Designer\Fonts\Lato-Bold\Lato-Bold.ttf") 0033:Ret gdi32.GetFontResourceInfoW() retval=00000000 ret=0044711d 0033:trace:seh:raise_exception code=c0000005 flags=0 addr=0x44712b ip=0044712b tid=0033 0033:trace:seh:raise_exception info[0]=00000001 0033:trace:seh:raise_exception info[1]=00000000 0033:trace:seh:raise_exception eax=00000000 ebx=00424c4c ecx=00000000 edx=7bcdab68 esi=00000033 edi=00000000 0033:trace:seh:raise_exception ebp=0033fd44 esp=0033fd18 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010246 0033:trace:seh:call_stack_handlers calling handler at 0x44717b code=c0000005 flags=0 0033:trace:seh:call_stack_handlers handler at 0x44717b returned 1 0033:trace:seh:call_stack_handlers calling handler at 0x4482e7 code=c0000005 flags=0 0033:trace:seh:call_stack_handlers handler at 0x4482e7 returned 1 ... 0027:Call KERNEL32.lstrcpynA(0040a750,00422e20 "An error occured while installing fonts!",00000400) ret=004059f0 0027:Ret KERNEL32.lstrcpynA() retval=0040a750 ret=004059f0 0027:Call user32.MessageBoxIndirectA(004091d8) ret=004052ff ... --- snip ---
It might be useful to implement the ANSI version too, on top of Unicode API.
$ du -sh RonyaSoft\ Poster\ Designer\ (Poster\ Forge)\ 2.01\ Install.exe 19M RonyaSoft Poster Designer (Poster Forge) 2.01 Install.exe
$ sha1sum RonyaSoft\ Poster\ Designer\ (Poster\ Forge)\ 2.01\ Install.exe 84650734d3e1bf9e36f74248c6f3b009327040d9 RonyaSoft Poster Designer (Poster Forge) 2.01 Install.exe
$ wine --version wine-1.5.2-250-gdc830aa
Regards