top | item 43955800

(no title)

hard_times | 9 months ago

can you elaborate?

discuss

order

fredoralive|9 months ago

As well as information about side by side assemblies (ie: library versions), a Windows manifest file has various settings and a declaration of compatible versions of Windows that affect Windows' handling of the app, such as whether it can handle paths over MAX_PATH, if it is hi-dpi aware, or if it knows about themed controls.

https://learn.microsoft.com/en-us/windows/win32/sbscs/applic...

If an EXE doesn't have a manifest file, Windows assumes that it's ancient, so it falls back to conservative defaults like ye olde USER controls to try and avoid breaking it.

torstenvl|9 months ago

In my experience, the wxWidgets documentation and forums are pretty good resources for Windows manifest files. YMMV.

An example from one of my projects: https://pastebin.com/Jvjn5C6S

You need to reference it from your resource source like so: https://pastebin.com/8FUi4tMz

And then compile that into an object file with windres: x86_64-w64-mingw32-windres rsrc/metadata/windows.rc -o winbuild/windowsrc.o

And link it with your project like you would any other object file.