Modifying Subsystem in Winelib executables

Paul Vriens paul.vriens.wine at gmail.com
Tue Sep 29 05:47:51 CDT 2009


On 09/29/2009 12:11 PM, Greg Geldorp wrote:
> To fix one of the tests (shell32:shlexec) I'd like to copy the test executable
> and change the Subsystem type from IMAGE_SUBSYSTEM_WINDOWS_CUI (console app) to
> IMAGE_SUBSYSTEM_WINDOWS_GUI (GUI app) in the copy. Piece of cake for PE files,
> get the IMAGE_DOS_HEADER, follow it to the IMAGE_NT_HEADERS and just patch the
> OptionalHeaders.Subsystem field.
> My limited understanding of the structure of Winelib executables makes doing
> the same for testing on Wine quite a bit harder. I assume there's still a
> IMAGE_NT_HEADERS structure in there somewhere and with some research I'll
> probably be able to locate it in Linux ELF Winelib executables. What I'm
> wondering about is how big the can of worms I'm trying to open is? Is the
> encapsulation of PE headers in "native" executables the same for all OSes
> supported by Wine? Is changing a PE header field in (a copy of) a Winelib
> executable doomed to fail or is it a walk in the park?
>
> Ge.
>
>
Can't we just compile shell32 tests as a GUI app?

What other changes are needed to fix the errors on Vista+? (I know that 
we have popups now)

-- 
Cheers,

Paul.



More information about the wine-devel mailing list