http://bugs.winehq.org/show_bug.cgi?id=27818
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |user32 Summary|Eurobattle.net installer |Eurobattle.net installer |not working (failed to |fails to run (invalid |create output file) |command line parameters | |passed to child due to | |user32.wsprintf not | |handling %I64u format | |specifier)
--- Comment #3 from Anastasius Focht focht@gmx.net 2011-07-17 04:52:23 CDT --- Hello,
the problem is the command line for the child process.
Due to user32 wsprintf format parser not handling "%I64u" format specifier, it gets passed unmodified to command line for the spawned child.
The child is a generic installer which uses one of these params as PE file offset to read data from parent PE file (main installer archive) hence it must be told about by parent.
--- snip --- ... 006c:Call KERNEL32.CreateProcessW(00000000,0032d108 L"C:\users\focht\Temp\_ir_sf_temp_3\irsetup.exe __IRAOFF:I64u "__IRAFN:Z:\home\focht\Downloads\setup_1.26a_manual.exe" "__IRCT:0" "__IRTSS:I64u" "__IRSID:S-1-5-21-0-0-0-1000"",00000000,00000000,00000000,00000400,00000000,00000000,0032c7b0,0032c7a0) ret=68593d0b ... 006c:Ret KERNEL32.CreateProcessW() retval=00000001 ret=68593d0b --- snip ---
__IRAOFF:I64u = wrong (critical) __IRTSS:I64u = wrong
The parent process uses user32.wsprintfA to construct parameters. Example format string -> "__IRAOFF:%I64u" -> resulting string: "__IRAOFF:I64u" (should contain integer value).
Regards