View Single Post
Old 22nd February 2018, 13:58   #4
Anders's Avatar
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,358
Just a quick note on ManifestSupportedOS.

Originally Posted by Pawel View Post

ManifestSupportedOS all
"All" is basically all the GUIDs we know about (in that NSIS version) and the compiler default is currently "All except Vista" because that GUID has no effect if the GUID for 7 is specified.

If you are using a NSIS version released before Windows 10 you would use
ManifestSupportedOS Win7 Win8 Win8.1 {8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}
... and if Microsoft changes their mind and creates a Windows 11 you would append that GUID until we add support for it.

I don't think you even need the latest GUIDs for DPI support to work.

If you are not using custom pages (Welcome and Finish are custom pages) then you can experiment with some undocumented (for now) attributes:

ManifestDPIAware System ; System DPI on Vista/7/8/8.1/10(<10.1607(AU))
ManifestDPIAwareness "PerMonitorV2,System" ; PMv2 on 10.1703(CU)+, System on 10.1607(AU) with NSIS 3.03+
There are now two attributes because Microsoft has two manifest attributes because they failed and painted themselves into a corner with the first one This might change and that is why it is undocumented.

This dynamic multimonitor DPI support only works on recent Windows 10 versions. There is also a PerMonitor(V1) attribute but we don't support that at all. We are not currently parsing that string so you can specify whatever you want by looking them up on MSDN, just remember that we don't have full support for this and Microsoft keeps changing how DPI stuff works in 10 so you need to do a lot of testing.

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote