http://bugs.winehq.org/show_bug.cgi?id=29232
Bug #: 29232 Summary: SimCity 4: installers fail to advance progress bar and also remains on 0.00% all the time Product: Wine Version: 1.3.34 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: wylda@volny.cz Classification: Unclassified
Created attachment 37768 --> http://bugs.winehq.org/attachment.cgi?id=37768 no progress in progress bar (screenshot should be around 30% - guess)
As bug 12116 (mentioning SimCity 4 as an example game) is closed now and installer of simcity still won't move it's progress bar & keeps telling me 0.00% all the time, i'm opening new bug for that right here/now rather than reopening bug 12116.
The attached screensot should be cca in 30%.
http://bugs.winehq.org/show_bug.cgi?id=29232
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer
http://bugs.winehq.org/show_bug.cgi?id=29232
--- Comment #1 from Hans Leidekker hans@meelstraat.net 2011-12-03 09:20:12 CST --- Please attach a +msi trace.
http://bugs.winehq.org/show_bug.cgi?id=29232
--- Comment #2 from Wylda wylda@volny.cz 2011-12-03 09:31:19 CST --- Created attachment 37771 --> http://bugs.winehq.org/attachment.cgi?id=37771 Console log from 1.3.34 + WINEDEBUG=+msi
Please attach a +msi trace.
Here you are. Attached the +msi from wine-1.3.34.
http://bugs.winehq.org/show_bug.cgi?id=29232
--- Comment #3 from Hans Leidekker hans@meelstraat.net 2011-12-03 09:47:31 CST --- This is not an msi installer, which explains why it's not a duplicate of bug 12116.
http://bugs.winehq.org/show_bug.cgi?id=29232
--- Comment #4 from Vitaliy Margolen vitaliy-bugzilla@kievinfo.com 2011-12-04 11:12:25 CST --- Does it actually installs?
http://bugs.winehq.org/show_bug.cgi?id=29232
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |trivial
--- Comment #5 from Wylda wylda@volny.cz 2011-12-04 16:47:14 CST ---
Does it actually installs?
Hi Vitaliy, yes no other problem with installation. So this is just a "cosmetic" problem.
http://bugs.winehq.org/show_bug.cgi?id=29232
--- Comment #6 from Wylda wylda@volny.cz 2012-05-13 08:50:12 CDT ---
Still present in wine-1.5.4.
http://bugs.winehq.org/show_bug.cgi?id=29232
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |kernel32 Summary|SimCity 4: installers fail |SimCity 4: installers fail |to advance progress bar and |to advance progress bar and |also remains on 0.00% all |also remains on 0.00% all |the time |the time | |(kernel32.CopyFileExW needs | |to support | |callback/progress routine)
--- Comment #7 from Anastasius Focht focht@gmx.net 2012-05-13 11:03:40 CDT --- Hello Wylda,
good you brought this up. I actually had this bug some months ago on my screen when I worked on the copy protection part (SafeDisc 2.x) but it fell out of my queue ...
The reason for progress bar not updating is Wine not supporting copy progress callback.
CopyFileExA,W and MoveFileWithProgressA/W
The installer calls CopyFileExA with a callback and user pointer and expects it to be called to synchronize it's user interface.
--- snip --- 002b:Call KERNEL32.CopyFileExA(008cd70c "D:\Support\SimCity 4_EZ.exe",008cdd24 "C:\Program Files\Maxis\SimCity 4\Support\SimCity 4_EZ.exe",0040ad60,008cde88,00441d2c,00000000) ret=0040ed8e ... 002b:Ret KERNEL32.CopyFileExA() retval=00000001 ret=0040ed8e ... --- snip ---
Source: http://source.winehq.org/git/wine.git/blob/b5a33dab886df6352011457932713ed32...
--- snip --- 1022 BOOL WINAPI CopyFileExW(LPCWSTR sourceFilename, LPCWSTR destFilename, 1023 LPPROGRESS_ROUTINE progressRoutine, LPVOID appData, 1024 LPBOOL cancelFlagPointer, DWORD copyFlags) 1025 { 1026 /* 1027 * Interpret the only flag that CopyFile can interpret. 1028 */ 1029 return CopyFileW(sourceFilename, destFilename, (copyFlags & COPY_FILE_FAIL_IF_EXISTS) != 0); 1030 } --- snip ---
To verify my hypothesis I did a small short-circuit implementation of progress callback in CopyFileExW.
I added a call of user supplied callback *after* CopyFileW(), supplying source file size as total and transferred size and filled additional parameters with sane values. This call fixed the user interface issue. The progress bar advanced and the "percentage" static control was properly updated.
I encountered more installers with this problem, maybe when I remember them I'll add them here.
Regards
http://bugs.winehq.org/show_bug.cgi?id=29232
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=29232
Brandon Corujo haku08879@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |haku08879@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=29232
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |DUPLICATE
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting and resolving as dupe of bug 22692 I refined the summary there to collect/target all applications suffering from this issue.
Obviously still present.
Regards
*** This bug has been marked as a duplicate of bug 22692 ***
http://bugs.winehq.org/show_bug.cgi?id=29232
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Bruno Jesus 00cpxxx@gmail.com --- Closing.