Hi everyone — I’m hoping someone can help me break out of a loop I’ve been stuck in for days.
I’m preparing a WinForms .NET Framework 4.7.2 app for the Microsoft Store, and the Windows App Certification Kit keeps giving me the same DPI Awareness Validation warning, even though I’ve followed every documented step to fix it.
Here’s what I’ve done so far:
Created a custom manifest (ATI.exe.manifest) in the project root
Added the PerMonitorV2 DPI declarations:
xml
<windowsSettings>
<dpiAware>true/pm</dpiAware>
<dpiAwareness>PerMonitorV2</dpiAwareness>
</windowsSettings>
Updated my .vbproj to point to the correct manifest:
xml
<ApplicationManifest>ATI.exe.manifest</ApplicationManifest>
Deleted bin/obj folders, rebuilt the project, repackaged the MSIX, and reran WACK
Verified the manifest file is next to the .vbproj and contains the correct XML
Confirmed there are no duplicate ApplicationManifest entries in the project file
Despite all of this, WACK still reports:
“File ATI.ati.exe neither has PerMonitorV2 manifested nor calls into DPI Awareness APIs.”
So it looks like Visual Studio is still embedding a different manifest, or the MSIX packaging step is overriding mine — but I can’t figure out where the disconnect is.
I’m sure I’m missing something simple, but at this point I feel like I’m going in circles. Any guidance on how to ensure the correct manifest is actually embedded into the final EXE would be greatly appreciated.
Thanks in advance.