http://bugs.winehq.org/show_bug.cgi?id=9158
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #2 from Anastasius Focht focht@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