https://bugs.winehq.org/show_bug.cgi?id=46125
s.maddox@lantizia.me.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|dos |kernel32
--- Comment #1 from s.maddox@lantizia.me.uk --- Changing component to kernel32
Reason: I have run it with a trace and can see winevdm never receives the arguments when it is called initially...
715225.825:002f:0030:Starting process L"C:\windows\system32\winevdm.exe" (entryproc=0x7effc3c0) 715225.825:002f:0030:trace:ntdll:NtQueryInformationProcess (0xffffffff,0x00000007,0x34feb8,0x00000004,(nil)) 715225.825:000c:000d:trace:heap:RtlFreeHeap (0x10000,30000062,0x73ed0): returning TRUE 715225.825:000c:000d:Ret advapi32.RegQueryValueExA() retval=00000000 ret=7fbd6ea9b0f3 715225.825:000c:000d:Call advapi32.RegCloseKey(00000068,) ret=7fbd6ea9b0ad 0030: get_process_info( handle=ffffffff ) 0030: get_process_info() = 0 { pid=002f, ppid=0008, affinity=00000fff, peb=7ffdf000, start_time=1d479e6156f2390 (-0.5820840), end_time=0, exit_code=259, priority=2, cpu=x86, debugger_present=0, debug_children=1 } 000d: close_handle( handle=0068 ) 000d: close_handle() = 0 715225.825:002f:0030:Call ntdll.RtlAllocateHeap(00110000,00000000,0000000a) ret=7effaa84 715225.825:000c:000d:Ret advapi32.RegCloseKey() retval=00000000 ret=7fbd6ea9b0ad 715225.825:000c:000d:trace:shell:HCR_GetClassNameA -- (Query file associations) 715225.825:000c:000d:trace:shell:DllGetClassObject CLSID:{a07034fd-6caa-4954-ac3f-97a27216f98a} (Query file associations),IID:{00000001-0000-0000-c000-000000000046} (IID_IClassFactory) 715225.825:000c:000d:trace:shell:DllGetClassObject index[10] 715225.825:000c:000d:Call ntdll.RtlAllocateHeap(00010000,00000000,00000030,) ret=7fbd6eae12ed 715225.825:002f:0030:trace:heap:RtlAllocateHeap (0x110000,30000062,0000000a): returning 0x18aa78 715225.825:002f:0030:Ret ntdll.RtlAllocateHeap() retval=0018aa78 ret=7effaa84 715225.825:002f:0030:Call KERNEL32.GetCommandLineA() ret=7effb35d 715225.825:002f:0030:Ret KERNEL32.GetCommandLineA() retval=001874b0 ret=7effb35d 715225.825:002f:0030:trace:winevdm:main GetCommandLine = 'winevdm.exe --app-name "Z:\home\lantizia\Downloads\zip.EXE" zip -@ x.zip ' 715225.825:002f:0030:trace:winevdm:main appname = 'Z:\home\lantizia\Downloads\zip.EXE' 715225.825:002f:0030:trace:winevdm:main cmdline = '-@ x.zip' 715225.825:002f:0030:trace:winevdm:main argv[0]: 'winevdm.exe' 715225.825:002f:0030:trace:winevdm:main argv[1]: '--app-name' 715225.825:002f:0030:trace:winevdm:main argv[2]: 'Z:\home\lantizia\Downloads\zip.EXE' 715225.825:002f:0030:trace:winevdm:main argv[3]: 'zip' 715225.825:002f:0030:trace:winevdm:main argv[4]: '-@' 715225.825:002f:0030:trace:winevdm:main argv[5]: 'x.zip'
There should be a argv[6] and possibly argv[7] (depends on if the '<' and the 'zip.exe' get separated).
I think the issue is somewhere in 'RTL_USER_PROCESS_PARAMETERS' around line 2482 of this file...
https://source.winehq.org/git/wine.git/blob/e9e12bda62fee68e9fbac5849f7ad1e1...
Also just in case if anyone is wondering, the example command of...
zip -@ x.zip < zip.exe
Basically just means update (or possibly create if non-existent) x.zip and put into the files mentioned in the text file of 'zip.exe' - but obviously 'zip.exe' is not a text file :) So it will error of course - but this is just a test to see if Wine can actually pass the '< zip.exe' part over when calling any command with winevdm/dosbox that has 'input redirect' (as I believe DOS called it).