http://bugs.winehq.org/show_bug.cgi?id=28213
Summary: IE7/IE8 x64 installation doesn't complete Product: Wine Version: 1.3.27 Platform: x86-64 URL: http://download.microsoft.com/download/7/5/4/754D6601- 662D-4E39-9788-6F90D8E5C097/IE8-WindowsServer2003-x64- ENU.exe OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: RandomAccountName@mail.com
Created an attachment (id=36131) --> (http://bugs.winehq.org/attachment.cgi?id=36131) Terminal output
The first part of the installation process for 64-bit IE7 and IE8 seems to work, but both installers get stuck at "installing Windows Internet Explorer core components." There is an easy workaround: manually kill cmd.exe, and the installation will finish. (IE7 spawns a second instance of cmd which also needs to be terminated.)
The reported Windows version must be set to Windows 2003 to run the installer.
http://bugs.winehq.org/show_bug.cgi?id=28213
A Wine user RandomAccountName@mail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer, win64
http://bugs.winehq.org/show_bug.cgi?id=28213
--- Comment #1 from Ken Sharp kennybobs@o2.co.uk 2011-08-31 14:56:00 CDT --- Any idea what the cmd.exe is doing? It could be a script in which case it would be extracted during installation. fsopen should tell you too.
http://bugs.winehq.org/show_bug.cgi?id=28213
--- Comment #2 from A Wine user RandomAccountName@mail.com 2011-09-01 20:38:32 CDT --- Apparently, it's copying a file. I found the command used via KDE's system monitor:
C:\windows\system32\cmd.exe /d /q /c copy c:\6573cafa88dc5909f5aafb0b69ad\update\update.exe.manifest C:\windows\ie8\spuninst\spuninst.exe.manifest 2>nul 1>nul
http://bugs.winehq.org/show_bug.cgi?id=28213
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kennybobs@o2.co.uk
http://bugs.winehq.org/show_bug.cgi?id=28213
--- Comment #3 from Ken Sharp kennybobs@o2.co.uk 2011-09-07 09:17:36 CDT --- Can you try running that exact command manually? It shouldn't be a problem but you never know...
http://bugs.winehq.org/show_bug.cgi?id=28213
--- Comment #4 from A Wine user RandomAccountName@mail.com 2011-09-08 03:59:11 CDT --- I tried running it manually, after letting the IE8 installer run until the point of the hang and then killing it (so the files to copy would be in place), and sure enough, cmd never exits on its own.
After running the command without 2>nul 1>nul, I see that cmd is waiting for an answer to "Overwrite C:\windows\ie8\spuninst\spuninst.exe.manifest (Y/N)?"
http://bugs.winehq.org/show_bug.cgi?id=28213
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Component|-unknown |cmd Summary|IE7/IE8 x64 installation |IE7/IE8 x64 installation |doesn't complete |doesn't complete (cmd.exe | |builtin copy command asks | |for overwrite despite being | |invoked through "cmd.exe | |/c") Ever Confirmed|0 |1 Severity|minor |normal
--- Comment #5 from Anastasius Focht focht@gmx.net 2012-04-06 13:34:17 CDT --- Hello,
confirming.
--- snip --- 002b:Call KERNEL32.CreateProcessW(00000000,00105c28 L"update.exe /quiet /norestart /er /log:C:\windows",00000000,00000000,00000000,00000000,00000000,00105e30 L"C:\d4e0e2f7f7b0255baf056c9403\update",006ee450,006ee420) ret=10002205c ... 002d:Call KERNEL32.__wine_kernel_init() ret=7f0ce7cf963e 002b:Ret KERNEL32.CreateProcessW() retval=00000001 ret=10002205c ... 002d:Call KERNEL32.ExpandEnvironmentStringsA(03119500 "%SystemRoot%\SysWOW64\cmd.exe /d /q /c copy %SourcePath%\update\update.exe.manifest %SystemRoot%\ie8\spuninst\spuninst.exe.manifest 2>nul 1>nul",0311a510,00001000) ret=10008a5d8 002d:Ret KERNEL32.ExpandEnvironmentStringsA() retval=0000009e ret=10008a5d8 ... 002d:Call KERNEL32.CreateProcessA(00000000,0007e180 "C:\windows\SysWOW64\cmd.exe /d /q /c copy c:\d4e0e2f7f7b0255baf056c9403\\update\update.exe.manifest C:\windows\ie8\spuninst\spuninst.exe.manifest 2>nul 1>nul",00000000,00000000,00000000,200000000000,00000000,00000000,0023ad80,0023ad60) ret=1000862b9 ... 0035:Call KERNEL32.GetFileAttributesW(0033de7c L"C:\windows\ie8\spuninst\spuninst.exe.manifest") ret=7ed02428 0035:Ret KERNEL32.GetFileAttributesW() retval=ffffffff ret=7ed02428 0035:Call KERNEL32.CopyFileW(0033e084 L"C:\d4e0e2f7f7b0255baf056c9403\update\update.exe.manifest",0033de7c L"C:\windows\ie8\spuninst\spuninst.exe.manifest",00000000) ret=7ed024b0 0035:Ret KERNEL32.CopyFileW() retval=00000001 ret=7ed024b0 ... 0035:Call KERNEL32.ExitProcess(00000000) ret=7ed124cb ... 002d:Call KERNEL32.ExpandEnvironmentStringsA(03119500 "%SystemRoot%\system32\cmd.exe /d /q /c copy %SourcePath%\update\update.exe.manifest %SystemRoot%\ie8\spuninst\spuninst.exe.manifest 2>nul 1>nul",0311a510,00001000) ret=10008a5d8 002d:Ret KERNEL32.ExpandEnvironmentStringsA() retval=0000009e ret=10008a5d8 ... 002d:Call KERNEL32.CreateProcessA(00000000,0007e180 "C:\windows\system32\cmd.exe /d /q /c copy c:\d4e0e2f7f7b0255baf056c9403\\update\update.exe.manifest C:\windows\ie8\spuninst\spuninst.exe.manifest 2>nul 1>nul",00000000,00000000,00000000,200000000000,00000000,00000000,0023ad80,0023ad60) ret=1000862b9 ... 0041:Call KERNEL32.GetFileAttributesW(0023e850 L"C:\windows\ie8\spuninst\spuninst.exe.manifest") ret=7f92d0c9882e 0041:Ret KERNEL32.GetFileAttributesW() retval=00000020 ret=7f92d0c9882e 0041:Call KERNEL32.GetEnvironmentVariableW(7f92d0caa300 L"COPYCMD",0023e630,00000004) ret=7f92d0c98943 0041:Ret KERNEL32.GetEnvironmentVariableW() retval=00000000 ret=7f92d0c98943 0041:Call KERNEL32.FindFirstFileW(0023e420 L"C:\d4e0e2f7f7b0255baf056c9403\update\update.exe.manifest",0023ea60) ret=7f92d0c98a08 0041:Ret KERNEL32.FindFirstFileW() retval=0005d550 ret=7f92d0c98a08 0041:Call KERNEL32.GetFileAttributesW(0023d9b0 L"C:\windows\ie8\spuninst\spuninst.exe.manifest") ret=7f92d0c98bcf 0041:Ret KERNEL32.GetFileAttributesW() retval=00000020 ret=7f92d0c98bcf 0041:Call KERNEL32.GetModuleHandleW(00000000) ret=7f92d0ca6c1f 0041:Ret KERNEL32.GetModuleHandleW() retval=7f92d0c90000 ret=7f92d0ca6c1f 0041:Call user32.LoadStringW(7f92d0c90000,000003ee,7f92d0f3e600,00000800) ret=7f92d0ca6c37 0041:Ret user32.LoadStringW() retval=0000000d ret=7f92d0ca6c37 0041:Call KERNEL32.FormatMessageW(00000500,7f92d0f3e600,00000000,00000000,0023d890,00000000,0023d898) ret=7f92d0ca2f0c 0041:Ret KERNEL32.FormatMessageW() retval=00000038 ret=7f92d0ca2f0c ... 0041:Call KERNEL32.WideCharToMultiByte(000001b5,00000000,0004c8a0 L"Overwrite C:\windows\ie8\spuninst\spuninst.exe.manifest?",00000038,0005f5d0,0000ffff,7f92d0caaaa4,00228e54) ret=7f92d0ca2a0f 0041:Ret KERNEL32.WideCharToMultiByte() retval=00000038 ret=7f92d0ca2a0f 0041:Call KERNEL32.WriteFile(00000038,0005f5d0,00000038,00228e58,00000000) ret=7f92d0ca2a38 0041:Ret KERNEL32.WriteFile() retval=00000001 ret=7f92d0ca2a38 0041:Call KERNEL32.GetStdHandle(fffffff5) ret=7f92d0ca31d9 0041:Ret KERNEL32.GetStdHandle() retval=00000038 ret=7f92d0ca31d9 0041:Call KERNEL32.WriteConsoleW(00000038,00235970,00000009,00228e58,00000000) ret=7f92d0ca2995 0041:Ret KERNEL32.WriteConsoleW() retval=00000000 ret=7f92d0ca2995 ... 0041:Call KERNEL32.WideCharToMultiByte(000001b5,00000000,00235970 L" (Yes|No)",00000009,0005f5d0,0000ffff,7f92d0caaaa4,00228e54) ret=7f92d0ca2a0f 0041:Ret KERNEL32.WideCharToMultiByte() retval=00000009 ret=7f92d0ca2a0f 0041:Call KERNEL32.WriteFile(00000038,0005f5d0,00000009,00228e58,00000000) ret=7f92d0ca2a38 0041:Ret KERNEL32.WriteFile() retval=00000001 ret=7f92d0ca2a38 0041:Call KERNEL32.GetStdHandle(fffffff6) ret=7f92d0c97ae1 0041:Ret KERNEL32.GetStdHandle() retval=0000000f ret=7f92d0c97ae1 0041:Call KERNEL32.ReadConsoleW(0000000f,00229760,00000104,0022975c,00000000) ret=7f92d0ca3120 0041:Ret KERNEL32.ReadConsoleW() retval=00000000 ret=7f92d0ca3120 ... --- snip ---
"copy" is called two times on same target path.
There is an .inf file with following section:
--- snip --- [ProcessesToRun] "%SystemRoot%\SysWOW64\cmd.exe /d /q /c copy %SourcePath%\update\update.exe.manifest %SystemRoot%%SP_UNINSTALL_DIR%\spuninst\spuninst.exe.manifest 2>nul 1>nul" "%SystemRoot%\SysWOW64\regsvr32.exe /u /s %SystemRoot%\SysWOW64\browsewm.dll" "%SystemRoot%\SysWOW64\regsvr32.exe /u /s %SystemRoot%\SysWOW64\cdfview.dll" "%SystemRoot%\SysWOW64\regsvr32.exe /u /s %SystemRoot%\SysWOW64\danim.dll" "%SystemRoot%\SysWOW64\regsvr32.exe /u /s %SystemRoot%\SysWOW64\datime.dll" "%SystemRoot%\SysWOW64\regsvr32.exe /u /s %SystemRoot%\SysWOW64\lmrt.dll" "%SystemRoot%\system32\cmd.exe /d /q /c copy %SourcePath%\update\update.exe.manifest %SystemRoot%%SP_UNINSTALL_DIR%\spuninst\spuninst.exe.manifest 2>nul 1>nul" "%SystemRoot%\system32\regsvr32.exe /u /s %SystemRoot%\system32\browsewm.dll" "%SystemRoot%\system32\regsvr32.exe /u /s %SystemRoot%\system32\cdfview.dll" "%SystemRoot%\system32\regsvr32.exe /u /s %SystemRoot%\system32\danim.dll" "%SystemRoot%\system32\regsvr32.exe /u /s %SystemRoot%\system32\datime.dll" "%SystemRoot%\system32\regsvr32.exe /u /s %SystemRoot%\system32\lmrt.dll" "%SystemRoot%\system32\spupdsvc.exe /install" --- snip ---
"%SystemRoot%\SysWOW64\cmd.exe" -> 32 bit "%SystemRoot%\system32\cmd.exe" -> 64 bit
The copy target path is "%SystemRoot%%SP_UNINSTALL_DIR%..." which is not redirected.
You could make a short test on Windows to check if it really asks for overwrite on existing file when invoked through "cmd.exe /c copy ..." (vs. "copy ...").
There exist "COPYCMD" environment variable which you can use to work around this problem in Wine. Run the installer as follows:
--- snip --- $ COPYCMD=/y wine ./IE8-WindowsServer2003-x64-ENU.exe --- snip ---
Regards
http://bugs.winehq.org/show_bug.cgi?id=28213
--- Comment #6 from A Wine user RandomAccountName@mail.com 2012-04-21 19:52:34 CDT --- (In reply to comment #5)
You could make a short test on Windows to check if it really asks for overwrite on existing file when invoked through "cmd.exe /c copy ..." (vs. "copy ...").
Windows 7 simply overwrites the target file without asking.
Thanks for the analysis and better workaround. :)
http://bugs.winehq.org/show_bug.cgi?id=28213
Jason Edmeades us@edmeades.me.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |us@edmeades.me.uk AssignedTo|wine-bugs@winehq.org |us@edmeades.me.uk
http://bugs.winehq.org/show_bug.cgi?id=28213
Jason Edmeades us@edmeades.me.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED Regression SHA1| |b1dacc6c379ede878b5740a8ab5 | |df635538b6e14
--- Comment #7 from Jason Edmeades us@edmeades.me.uk 2012-10-02 15:23:34 CDT --- Should be fixed now
http://bugs.winehq.org/show_bug.cgi?id=28213
Ken Sharp kennybobs@o2.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |b1dacc6c379ede878b5740a8ab5 | |df635538b6e14 Regression SHA1|b1dacc6c379ede878b5740a8ab5 | |df635538b6e14 |
http://bugs.winehq.org/show_bug.cgi?id=28213
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org 2012-10-12 13:34:49 CDT --- Closing bugs fixed in 1.5.15.