[Bug 9158] "Microsoft .NET Framework 3.0 Redistributable Package" fails to install

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Jan 26 06:11:55 CST 2008


http://bugs.winehq.org/show_bug.cgi?id=9158


Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net




--- Comment #2 from Anastasius Focht <focht at gmx.net>  2008-01-26 06:11:53 ---
Hello,

1. .NET 3.0 needs at least Windows XP config (winecfg)
2. "harddiskvolume" trick for installer is needed, use 'winetricks' script:

  wget kegel.com/wine/winetricks; sh winetricks volnum

3. While extracting the installer data, if fails to copy a file named
"$shtdwn$.req" and aborts

This file is *not* supposed to be copied.

--- snip ---
0024:Call KERNEL32.CreateFileA(0100afa0
"c:\\f2e12917d8fb33406bb742\\$shtdwn$.req",c0000000,00000003,00000000,00000001,04000002,00000000)
ret=0100361f
0024:trace:file:CreateFileW L"c:\\f2e12917d8fb33406bb742\\$shtdwn$.req"
GENERIC_READ GENERIC_WRITE FILE_SHARE_READ FILE_SHARE_WRITE  creation 1
attributes 0x4000002
0024:trace:file:RtlDosPathNameToNtPathName_U
(L"c:\\f2e12917d8fb33406bb742\\$shtdwn$.req",0x33fd70,(nil),(nil))
0024:trace:file:RtlGetFullPathName_U
(L"c:\\f2e12917d8fb33406bb742\\$shtdwn$.req" 520 0x33fac4 (nil))
0024:trace:ntdll:NtCreateFile handle=0x33fd78 access=c0010000
name=L"\\??\\C:\\f2e12917d8fb33406bb742\\$shtdwn$.req" objattr=00000040
root=(nil) sec=(nil) io=0x33fd68 alloc_size=(nil)
attr=00000002 sharing=00000003 disp=2 options=00001050 ea=(nil).0x00000000
0024:warn:file:wine_nt_to_unix_file_name
L"\\??\\C:\\f2e12917d8fb33406bb742\\$shtdwn$.req" ->
"/home/focht/.wine/dosdevices/c:/f2e12917d8fb33406bb742/$shtdwn$.req" required
a case-insensitive search
0024:trace:file:wine_nt_to_unix_file_name
L"\\??\\C:\\f2e12917d8fb33406bb742\\$shtdwn$.req" ->
"/home/focht/.wine/dosdevices/c:/f2e12917d8fb33406bb742/$shtdwn$.req"
0024:trace:file:CreateFileW returning 0x70
0024:Ret  KERNEL32.CreateFileA() retval=00000070 ret=0100361f
0024:Call KERNEL32.WriteFile(00000070,0100a5a0,00000314,0033fe70,00000000)
ret=01003676
0024:trace:file:WriteFile 0x70 0x100a5a0 788 0x33fe70 (nil)
0024:trace:ntdll:NtWriteFile
(0x70,(nil),(nil),(nil),0x33fd98,0x100a5a0,0x00000314,(nil),(nil))!
0024:trace:ntdll:NtWriteFile = SUCCESS (788)
0024:Ret  KERNEL32.WriteFile() retval=00000001 ret=01003676
0024:Call KERNEL32.SetEnvironmentVariableA(01002388
"_SFX_CAB_SHUTDOWN_REQUEST",0100afa0
"c:\\f2e12917d8fb33406bb742\\$shtdwn$.req") ret=0100368c
0024:Ret  KERNEL32.SetEnvironmentVariableA() retval=00000001 ret=0100368c 
--- snip ---

When this file is extracted, it is created with following attributes:

CreateFileA( NAME_SRC, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ |
FILE_SHARE_WRITE, NULL, CREATE_NEW, FILE_ATTRIBUTE_HIDDEN, NULL); 

Later all extracted files to be copied into temporary install dir are collected
using FindFirstFile/FindNextFile sequence.

Because wine doesn't support "native" FILE_ATTRIBUTE_HIDDEN this flag is
omitted   in the returned WIN32_FIND_DATA.dwFileAttributes (filename doesn't
use leading dot "hack" because the installer has no knowledge on this unixism).
See dlls/ntdll/directory.c:NtQueryDirectoryFile "dotfiles" code.
Hence the special $shtdwn$.req file gets included in file copy list which fails
because of sharing violation (remember: it's not supposed to be copied).

There is a temporary workaround for the installer:

export _SFX_CAB_SHUTDOWN_REQUEST=some_value

Set this environ variable before starting the installer. The special file will
be skipped then in the copy process.

4. "BITS service must be enabled" -> show stopper. Blocked by bug 8718

Regards


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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