On Thu, Jan 22, 2009 at 6:59 PM, Reece Dunn <mscl...@googlemail.com> wrote: > 2009/1/22 Luke Kenneth Casson Leighton <l...@lkcl.net>: >> 0010:trace:file:RtlGetFullPathName_U >> (L"C:\\windows\\system32\\cmd.exe.manifest" 520 0xff9aaaf4 (nil)) >> attr=00000000 sharing=00000001 disp=1 options=00000010 ea=(nil).0x00000000 >> 0009:trace:seh:start_debugger Starting debugger "winedbg --auto 8 100" >> >> >> ????? !!!! >> >> ahh fer xxxx's sake :) >> >> this is after various complicated ways to create a subprocess with >> which to communicate (stdin / stdout) involving CreatePipe, >> open_osfhandle, - but it's being done from an app that's compiled with >> msvcr80. >> >> 0009: close_handle() = 0 >> 0010:trace:heap:RtlAllocateHeap (0x110000,00000002,00000038): returning >> 0x114e58 >> 0010:trace:actctx:get_manifest_in_module looking for res #0001 in >> module 0x7ec10000 L"C:\\windows\\system32\\cmd.exe" >> 0010:trace:heap:RtlFreeHeap (0x110000,00000002,0x114e58): returning TRUE >> 0010:trace:resource:LdrFindResource_U module 0x7ec10000 type #0018 >> name #0001 lang 0000 level 3 >> 0010:trace:resource:find_entry_by_id root 0x7ec322e4 dir 0x7ec322e4 id >> 0018 not found >> 0010:trace:actctx:get_manifest_in_associated_manifest looking for >> manifest associated with (null) id 1 >> 0010:trace:heap:RtlAllocateHeap (0x110000,00000002,00000060): returning >> 0x114e58 >> 0009:trace:heap:RtlFreeHeap (0x110000,00000002,0x1361e0): returning TRUE >> 0010:trace:file:RtlDosPathNameToNtPathName_U >> (L"C:\\windows\\system32\\cmd.exe.manifest",0xffdc6170,(nil),(nil)) >> 0009:trace:process:CreateProcessW started process pid 000f tid 0010 >> 0010:trace:file:RtlGetFullPathName_U >> (L"C:\\windows\\system32\\cmd.exe.manifest" 520 0xffdc5f14 (nil)) >> >> >> ... but hang on... some notes somewhere after a google search for >> cmd.exe.manifest, apparently there isn't supposed to _be_ a manifest >> for cmd.exe - so that it can't be "themed". > > cmd.exe *may* have a manifest, it's just that it won't specify common > controls v6 (which enables the theming code in >= XP). For example, > patch.exe and install.exe in cygwin have .manifest files to tell Vista > "I am *not* an installer!". > >> ... wossgoinon?! :) > > When Wine (or Windows >= XP) loads a process (exe or dll), it looks > for a .manifest file in the folder where the exe is located. If it > does not find one there, it looks for a RT_MANIFEST resource in the > processes resource block. Failing that, it assumes that the process > was not built with a manifest. NOTE: I'm not sure on the ordering of > the check for a manifest file (i.e. which takes precedence -- external > file or embedded resource). > > In the trace log above, you can see that Wine is checking for an > embedded manifest resource first, then the external .manifest file. > > So the problem lies elsewhere... do you have any more information on > the debug output?
hiya reece, thanks for responding. yes, i do - lemme get back to you with it: i'm in the middle of a ... actually, i _do_ have it: http://lkcl.net/subprocess.wine.trace it's a trace+all so is about 15mb (sorry!) i'm doing a rebuild back to msvcrt to see if the problem goes away. reproducing this in c-code will be quite a bit of work - it's not like the other tests i did (the msvcrt ones) - it'll be about... 150 to 200 lines of c code, doing a CreateProcess and other tricks, and would take about a day to go through the python code, replicating the python subsytems being used _without_ the python. and this is getting pretty draining - it's been a _lot_ of work. l.