[Bug 34178] MiKTeX 2.9 (32-bit) fails to install (wizard dialog caption reset by initial property page selection)

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Aug 6 14:12:16 CDT 2014


https://bugs.winehq.org/show_bug.cgi?id=34178

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net
          Component|-unknown                    |comctl32
            Summary|MiKTeX 2.9 (32-bit) fails   |MiKTeX 2.9 (32-bit) fails
                   |to install                  |to install (wizard dialog
                   |                            |caption reset by initial
                   |                            |property page selection)

--- Comment #5 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming.

The installer spawns a process 'initexmf.exe' which fails to recognize its
command line arguments:

--- snip ---
$ WINEDEBUG=+tid,+seh,+relay ./basic-miktex-2.9.5105.exe >>log.txt 2>&1
...
0037:Call KERNEL32.CreateProcessW(02afc6ac L"C:\\Program Files\\MiKTeX
2.9\\miktex/bin\\initexmf.exe",02afcab4 L"\"C:\\Program Files\\MiKTeX
2.9\\miktex/bin\\initexmf.exe\" --common-install=\"C:\\Program Files\\MiKTeX
2.9\" --rmfndb --admin --log-file=\"C:\\Program Files\\MiKTeX
2.9\\miktex\\config\\uninst.log\"
--verbose",00000000,00000000,00000001,08000000,00000000,00000000,02afc62c,05692838)
ret=0048ff28
...
0028:Call KERNEL32.__wine_kernel_init() ret=7bc59dbc
0037:Ret  KERNEL32.CreateProcessW() retval=00000001 ret=0048ff28
...
0028:Call user32.EnumWindows(00401825,00dbf5d8) ret=00402ad5
...
0028:Call winex11.drv.wine_get_gdi_driver(0000002e) ret=7eb8049c
0028:Ret  winex11.drv.wine_get_gdi_driver() retval=7e145ce0 ret=7eb8049c
0028:Call winex11.drv.CreateDesktopWindow(00010020) ret=7eca5f5a
0028:Ret  winex11.drv.CreateDesktopWindow() retval=00000001 ret=7eca5f5a
0028:Call user32.GetWindowTextW(000100b2,00dbec58,000000c8) ret=00402a04
0028:Ret  user32.GetWindowTextW() retval=00000000 ret=00402a04
0028:Call user32.GetWindowTextW(000100ac,00dbec58,000000c8) ret=00402a04
0028:Ret  user32.GetWindowTextW() retval=00000000 ret=00402a04
0028:Call user32.GetWindowTextW(00010070,00dbec58,000000c8) ret=00402a04
0028:Ret  user32.GetWindowTextW() retval=00000000 ret=00402a04
0028:Call user32.GetWindowTextW(0002005c,00dbec58,000000c8) ret=00402a04
0028:Ret  user32.GetWindowTextW() retval=00000012 ret=00402a04
0028:Call msvcr100.wcsstr(00dbec58 L"Untitled - Notepad",0041b88c L"MiKTeX")
ret=00402a1b
0028:Ret  msvcr100.wcsstr() retval=00000000 ret=00402a1b
0028:Call user32.GetWindowTextW(0001003e,00dbec58,000000c8) ret=00402a04
0028:Ret  user32.GetWindowTextW() retval=00000000 ret=00402a04
0028:Call user32.GetWindowTextW(0001003c,00dbec58,000000c8) ret=00402a04
0028:Ret  user32.GetWindowTextW() retval=00000000 ret=00402a04
0028:Call user32.GetWindowTextW(0001003a,00dbec58,000000c8) ret=00402a04
0028:Ret  user32.GetWindowTextW() retval=00000000 ret=00402a04
0028:Call user32.GetWindowTextW(00010038,00dbec58,000000c8) ret=00402a04
0028:Ret  user32.GetWindowTextW() retval=00000000 ret=00402a04
0028:Call user32.GetWindowTextW(00010034,00dbec58,000000c8) ret=00402a04
0028:Ret  user32.GetWindowTextW() retval=00000000 ret=00402a04
0028:Ret  user32.EnumWindows() retval=00000001 ret=00402ad5 
...
0028:Call msvcr100._CxxThrowException(00dbeebc,0041d590) ret=00402c6f
0028:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,00dbee54)
ret=7e917321
0028:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b83ae8f
ip=7b83ae8f tid=0028
0028:trace:seh:raise_exception  info[0]=19930520
0028:trace:seh:raise_exception  info[1]=00dbeebc
0028:trace:seh:raise_exception  info[2]=0041d590
0028:trace:seh:raise_exception  eax=7b826d6d ebx=7b8be000 ecx=19930520
edx=00dbeda4 esi=00dbee50 edi=00dbee10
0028:trace:seh:raise_exception  ebp=00dbede8 esp=00dbed84 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00000283
0028:trace:seh:call_stack_handlers calling handler at 0x416f04 code=e06d7363
flags=1
0028:trace:seh:call_stack_handlers handler at 0x416f04 returned 1
0028:trace:seh:call_stack_handlers calling handler at 0x416fe3 code=e06d7363
flags=1
0028:trace:seh:cxx_frame_handler handling C++ exception rec 0xdbed90 frame
0xdbf5cc trylevel 4 descr 0x41e908 nested_frame (nil)
...
0037:Call KERNEL32.OutputDebugStringW(054bbc30 L"241634
[basic-miktex-2.9.5105.setup]: initexmf: --common-install=C:\\Program
Files\\MiKTeX 2.9: unknown option\n") ret=00457d23
--- snip ---

The app's option parser works with different command line argument sets,
depending on actual run mode.

To determine the run mode, the app enumerates all top level windows and checks
if the window title contains 'MiKTeX' and 'Setup' or 'Installer'.
This fails hence the wrong argument set is selected which doesn't contain a
handler for 'common-install'.

The installer uses a wizard dialog template (property sheet) and sets the
window title to 'Basic MiKTeX 2.9.5105 Installer (32-bit)':

--- snip ---
...
0035:Call comctl32.PropertySheetW(014ad190) ret=0050da44
...
0035:Call
user32.CreateDialogIndirectParamW(00000000,0018e1f0,00000000,7e291640,0018d608)
ret=7e28a6ee 
...
0035:Ret  window proc 0x50164e
(hwnd=0x10088,msg=WM_INITDIALOG,wp=0001008a,lp=0018d828) retval=00000001
0035:Ret  user32.CreateDialogIndirectParamW() retval=00010088 ret=7e28c497
...
0035:Call user32.SendMessageW(00010070,00000478,00000000,014d4188) ret=0050eb3a
0035:Call window proc 0x50164e
(hwnd=0x10070,msg=PSM_SETTITLEW,wp=00000000,lp=014d4188)
0035:Call user32.CallWindowProcW(7ebb2e8f,00010070,00000478,00000000,014d4188)
ret=004fd15b
0035:Call window proc 0x7ebb2e8f
(hwnd=0x10070,msg=PSM_SETTITLEW,wp=00000000,lp=014d4188)
0035:Call dialog proc 0x7e291640
(hwnd=0x10070,msg=PSM_SETTITLEW,wp=00000000,lp=014d4188)
0035:Call user32.GetPropW(00010070,7e2e81a0 L"PropertySheetInfo") ret=7e28e0a9
0035:Ret  user32.GetPropW() retval=0018d608 ret=7e28e0a9
0035:Call user32.SetWindowTextW(00010070,014d4188 L"Basic MiKTeX 2.9.5105
Installer (32-bit)") ret=7e28e1ed
0035:Call window proc 0x50164e
(hwnd=0x10070,msg=WM_SETTEXT,wp=00000000,lp=014d4188)
0035:Call user32.CallWindowProcW(7ebb2e8f,00010070,0000000c,00000000,014d4188)
ret=004fd15b
0035:Call window proc 0x7ebb2e8f
(hwnd=0x10070,msg=WM_SETTEXT,wp=00000000,lp=014d4188)
0035:Call dialog proc 0x7e291640
(hwnd=0x10070,msg=WM_SETTEXT,wp=00000000,lp=014d4188)
0035:Ret  dialog proc 0x7e291640
(hwnd=0x10070,msg=WM_SETTEXT,wp=00000000,lp=014d4188) retval=00000000
result=00000000
0035:Call winex11.drv.SetWindowText(00010070,001918a0 L"Basic MiKTeX 2.9.5105
Installer (32-bit)") ret=7ebb3761
0035:Ret  winex11.drv.SetWindowText() retval=00000001 ret=7ebb3761
0035:Ret  window proc 0x7ebb2e8f
(hwnd=0x10070,msg=WM_SETTEXT,wp=00000000,lp=014d4188) retval=00000001
0035:Ret  user32.CallWindowProcW() retval=00000001 ret=004fd15b
0035:Ret  window proc 0x50164e
(hwnd=0x10070,msg=WM_SETTEXT,wp=00000000,lp=014d4188) retval=00000001
0035:Ret  user32.SetWindowTextW() retval=00000001 ret=7e28e1ed
0035:Ret  dialog proc 0x7e291640
(hwnd=0x10070,msg=PSM_SETTITLEW,wp=00000000,lp=014d4188) retval=00000001
result=00000000
0035:Ret  window proc 0x7ebb2e8f
(hwnd=0x10070,msg=PSM_SETTITLEW,wp=00000000,lp=014d4188) retval=00000000
0035:Ret  user32.CallWindowProcW() retval=00000000 ret=004fd15b
0035:Ret  window proc 0x50164e
(hwnd=0x10070,msg=PSM_SETTITLEW,wp=00000000,lp=014d4188) retval=00000000
0035:Ret  user32.SendMessageW() retval=00000000 ret=0050eb3a 
...
0035:Ret  comctl32.PropertySheetW() retval=00010070 ret=0050da44
--- snip ---

When the initial property page is selected into view, the dialog wizard caption
is reset to an empty string (template has no caption).

'winetricks -q comctl32' works around, the window title is properly shown and
the installer succeeds.

$ sha1sum basic-miktex-2.9.5105.exe
8a0797f119d796ff80adfab99945e76e6883609f  basic-miktex-2.9.5105.exe

$ du -sh basic-miktex-2.9.5105.exe
164M    basic-miktex-2.9.5105.exe

$ wine --version
wine-1.7.23-78-g4a6ce97

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list