[Bug 33392] .NET Framework 4.0 installer misreports disk space if not enough disk space available 'Drive C: Required - 64u MB, Available - 64u MB' ('FormatMessageA/W' needs to support I64)

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Jan 7 17:28:11 CST 2015


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |dotnet, download, Installer
             Status|REOPENED                    |NEW
                URL|                            |http://download.microsoft.c
                   |                            |om/download/9/5/A/95A9616B-
                   |                            |7A37-4AF6-BC36-D6EA96C8DAAE
                   |                            |/dotNetFx40_Full_x86_x64.ex
                   |                            |e
          Component|-unknown                    |kernel32
            Summary|winetricks dotnet40 install |.NET Framework 4.0
                   |stuck on required disk      |installer misreports disk
                   |space dialog                |space if not enough disk
                   |                            |space available 'Drive C:
                   |                            |Required - 64u MB,
                   |                            |Available - 64u MB'
                   |                            |('FormatMessageA/W' needs
                   |                            |to support I64)

--- Comment #10 from Anastasius Focht <focht at gmx.net> ---
Hello Patrick,

--- quote ---
Solved the problem. I was a little under 800MB however the installer for ME
didn't show it.
This should rather be filed as a seperate bug, or maybe it's due to some
workaround?
--- quote ---

Yes, the installer requires ~840 MB free disk space, including temporary space
for unpacking.
The app installer html log file shows it correctly.

I debugged the installer once again and the byte based sizes are correctly
calculated and formatted.

--- snip ---
0033E1BC   00356380 "Drive:[%s] Bytes Needed:[%I64u] Bytes Available:[%I64u]"
0033E1C0   001FDC08 "C:\"
0033E1C4   34988D8E ; 882412942 Bytes
0033E1C8   00000000
0033E1CC   1E9E9000 ; 202377170944 Bytes
0033E1D0   0000002F
--- snip ---

-> "Drive:[C:\] Bytes Needed:[882412942] Bytes Available:[202377170944]" 

But the formatting for MB units doesn't seem correct.

--- snip ---
0033E20C   008575C0  "Drive %1!s!:  Required - %2!s! MB, Available - %3!s! MB"
0033E210   001F96A8
0033E214   001FDC08  "64u"
0033E218   0094A078  "64u"
0033E21C   A43C3EDF
0033E220   003579E4  SetupUi.003579E4 
--- snip ---

--- snip ---
0031:Call user32.SetWindowTextW(00010090,00dfdde8 L"Drive C:  Required - 64u
MB, Available - 64u MB") ret=00368e94  
--- snip ---

That's what OP also complained about.

Also reported in bug 27659

The problem is missing I64 format string support in
'kernel32.FormatMessageA/W'.

Debugger session:

--- snip ---
Wine-dbg>bt
Backtrace:
=>0 0x7b8455f9 FormatMessageW(dwFlags=0x500, lpSource=0x35543c, dwMessageId=0,
dwLanguageId=0, lpBuffer="", nSize=0, args=0x33e200)
[/home/focht/projects/wine/wine.repo/src/dlls/kernel32/format_msg.c:568] in
kernel32 (0x0033e1ec)
  1 0x003750a0 in setupui (+0x2509f) (0x0033e204)
  2 0x00368dc8 in setupui (+0x18dc7) (0x0033e250)
  3 0x003691e1 in setupui (+0x191e0) (0x0033e304)
...

Wine-dbg>n
617        target = format_message( TRUE, dwFlags, from, &format_args );

Wine-dbg>p from
"%1!I64u!"

--- snip ---

There is also a FIXME comment, indicating this in the sources:

http://source.winehq.org/git/wine.git/blob/810ed5c85a0bccfe35dc7d4c3c7621216e13c9ee:/dlls/kernel32/format_msg.c#l252

In the end indeed a valid bug :-)

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