[Bug 36646] New: Windows 7 USB/DVD download tool installer fails, reporting 'Can't recognize 'Wudt.msi' as an internal or external command, or batch script'

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Jun 2 13:25:16 CDT 2014


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

            Bug ID: 36646
           Summary: Windows 7 USB/DVD download tool installer fails,
                    reporting 'Can't recognize 'Wudt.msi' as an internal
                    or external command, or batch script'
           Product: Wine
           Version: 1.7.19
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: cmd
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net

Hello folks,

the bootstrapper 'Windows7-USB-DVD-tool.exe' unpacks an .msi and .cmd file.

Content of 'setup.cmd':

--- snip ---
@ECHO OFF
Wudt.msi
ECHO ON
--- snip ---

It expects the command processor to figure out the actual program to run with
-> 'msiexec -i <filename>' which fails to do so.

Relevant part of trace log:

--- snip ---
$ WINEDEBUG=+tid,+seh,+relay wine ./Windows7-USB-DVD-tool.exe >>log.txt 2>&1
...
002a:Call KERNEL32.CreateProcessA(00000000,0013ae80
"C:\\users\\focht\\Temp\\IXP000.TMP\\setup.cmd",00000000,00000000,00000000,00000020,00000000,00000000,0033fad8,0033f8a0)
ret=01005018
...
002c:Call KERNEL32.__wine_kernel_init() ret=7bc5a4b2
002a:Ret  KERNEL32.CreateProcessA() retval=00000001 ret=01005018
002a:Call KERNEL32.WaitForSingleObject(00000068,ffffffff) ret=0100502e 
...
002c:Starting process L"C:\\windows\\system32\\cmd.exe" (entryproc=0x7ed061d4) 
...
002c:trace:cmd:wmain Full commandline 'L"C:\\windows\\system32\\cmd.exe /c
C:\\users\\focht\\Temp\\IXP000.TMP\\setup.cmd"'
002c:trace:cmd:wmain Command line parm: 'L"/c
C:\\users\\focht\\Temp\\IXP000.TMP\\setup.cmd"' 
...
002c:trace:cmd:WCMD_run_program Running 'L"Wudt.msi"' (0) 
...
002c:trace:cmd:WCMD_run_program Found as
L"C:\\users\\focht\\Temp\\IXP000.TMP\\Wudt.msi" 
...
002c:Call shell32.FindExecutableW(00329964
L"C:\\users\\focht\\Temp\\IXP000.TMP\\Wudt.msi",00000000,0033203c) ret=7ed020d6
002c:Call advapi32.RegOpenKeyExW(80000002,00327964
L"Software\\Microsoft\\Windows\\CurrentVersion\\App
Paths\\C:\\users\\focht\\Temp\\IXP000.TMP\\Wudt.msi",00000000,00020019,00328164)
ret=7eb1952d
002c:Ret  advapi32.RegOpenKeyExW() retval=00000002 ret=7eb1952d
002c:Call KERNEL32.SearchPathW(00000000,00329964
L"C:\\users\\focht\\Temp\\IXP000.TMP\\Wudt.msi",7eb4d076
L".exe",00000100,003281b0,00000000) ret=7eb19928
002c:Ret  KERNEL32.SearchPathW() retval=00000027 ret=7eb19928
002c:Call KERNEL32.GetFileAttributesW(003281b0
L"C:\\users\\focht\\Temp\\IXP000.TMP\\Wudt.msi") ret=7eb19a2b
002c:Ret  KERNEL32.GetFileAttributesW() retval=00000020 ret=7eb19a2b
002c:Call KERNEL32.GetProfileStringW(7eb4d89c L"windows",7eb4d8ac
L"programs",7eb4d8c0 L"exe pif bat cmd com",003283b0,00000100) ret=7eb19bdd
002c:Ret  KERNEL32.GetProfileStringW() retval=00000013 ret=7eb19bdd
002c:Call user32.CharLowerW(003283b0 L"exe pif bat cmd com") ret=7eb19bf6
002c:Ret  user32.CharLowerW() retval=003283b0 ret=7eb19bf6
002c:Call advapi32.RegQueryValueW(80000000,003281f6 L".msi",00328db4,00328db0)
ret=7eb19d39
002c:Ret  advapi32.RegQueryValueW() retval=00000000 ret=7eb19d39
002c:Call advapi32.RegOpenKeyExW(80000000,00328db4
L"Msi.Package",00000000,02000000,0032816c) ret=7eb1964c
002c:Ret  advapi32.RegOpenKeyExW() retval=00000000 ret=7eb1964c
002c:Call advapi32.RegCloseKey(00000044) ret=7eb1969a
002c:Ret  advapi32.RegCloseKey() retval=00000000 ret=7eb1969a
002c:Call advapi32.RegQueryValueW(80000000,00328db4
L"Msi.Package\\shell\\open\\command",003285b0,00328190) ret=7eb196fd
002c:Ret  advapi32.RegQueryValueW() retval=00000000 ret=7eb196fd
002c:Call KERNEL32.SearchPathW(00000000,003281b0
L"C:\\users\\focht\\Temp\\IXP000.TMP\\Wudt.msi",7eb4d076
L".exe",00000400,00327918,00000000) ret=7eb1897d
002c:Ret  KERNEL32.SearchPathW() retval=00000027 ret=7eb1897d
002c:Ret  shell32.FindExecutableW() retval=00000021 ret=7ed020d6 
...
002c:Call shell32.SHGetFileInfoW(0033203c,00000000,00329b6c,000002b4,00002000)
ret=7ed0211d
002c:Call shlwapi.PathIsRelativeW(0033203c L"msiexec") ret=7eadee1f
002c:Ret  shlwapi.PathIsRelativeW() retval=00000001 ret=7eadee1f
002c:Call KERNEL32.GetCurrentDirectoryW(00000104,003295c4) ret=7eadee3c
002c:Ret  KERNEL32.GetCurrentDirectoryW() retval=0000001e ret=7eadee3c
002c:Call shlwapi.PathCombineW(003293bc,003295c4
L"C:\\users\\focht\\Temp\\IXP000.TMP",0033203c L"msiexec") ret=7eadee5d
002c:Ret  shlwapi.PathCombineW() retval=003293bc ret=7eadee5d
002c:Call KERNEL32.GetBinaryTypeW(003293bc
L"C:\\users\\focht\\Temp\\IXP000.TMP\\msiexec",00329134) ret=7eade91b
002c:Ret  KERNEL32.GetBinaryTypeW() retval=00000000 ret=7eade91b
002c:Ret  shell32.SHGetFileInfoW() retval=00000000 ret=7ed0211d
002c:Call KERNEL32.GetStartupInfoW(00329888) ret=7ed018dd
002c:Ret  KERNEL32.GetStartupInfoW() retval=00000011 ret=7ed018dd
002c:Call KERNEL32.CreateProcessW(00329964
L"C:\\users\\focht\\Temp\\IXP000.TMP\\Wudt.msi",00137ad0
L"Wudt.msi",00000000,00000000,00000001,00000000,00000000,00000000,00329920,00329e24)
ret=7ed021b2
002c:Ret  KERNEL32.CreateProcessW() retval=00000000 ret=7ed021b2
...
Can't recognize 'Wudt.msi' as an internal or external command, or batch script.
--- snip ---

Source:
http://source.winehq.org/git/wine.git/blob/0f2bed51bdd73676406e908eb105dde1efa886fc:/programs/cmd/wcmdmain.c#l1038

--- snip ---
1038 void WCMD_run_program (WCHAR *command, BOOL called)
1039 {
...
1170     /* Once found, launch it */
1171     if (found) {
1172         STARTUPINFOW st;
1173         PROCESS_INFORMATION pe;
1174         SHFILEINFOW psfi;
1175         DWORD console;
1176         HINSTANCE hinst;
...
1192             /* thisDir contains the file to be launched, but with what?
1193                eg. a.exe will require a.exe to be launched, a.html may be
iexplore */
1194             hinst = FindExecutableW (thisDir, NULL, temp);
1195             if ((INT_PTR)hinst < 32)
1196                console = 0;
1197             else
1198                console = SHGetFileInfoW(temp, 0, &psfi, sizeof(psfi),
SHGFI_EXETYPE);
1199
1200             ZeroMemory (&st, sizeof(STARTUPINFOW));
1201             st.cb = sizeof(STARTUPINFOW);
1202             init_msvcrt_io_block(&st);
1203
1204             /* Launch the process and if a CUI wait on it to complete
1205                Note: Launching internal wine processes cannot specify a
full path to exe */
1206             status = CreateProcessW(thisDir,
1207                   command, NULL, NULL, TRUE, 0, NULL, NULL, &st, &pe);
...
--- snip ---

$ sha1sum Windows7-USB-DVD-tool.exe 
ed1108a525066d1f850023cb5bfa05fc4ed21983  Windows7-USB-DVD-tool.exe

$ du -sh Windows7-USB-DVD-tool.exe 
2.6M    Windows7-USB-DVD-tool.exe

$ wine --version
wine-1.7.19-70-gd6a59f7

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