Treat TEST92 as an inconclusive analyzer result—not proof that the executable lacks DPI metadata—and classify TEST88 entries by whether they launch packaged app components or external executables; final clarification comes from Partner Center certification because local WACK is deprecated.
TEST92: what the retained logs can establish
Inspect both the saved HTML and XML reports. WACK produces both formats, and the XML is generally better for locating per-test diagnostics and file-level messages.^1^
The artifacts can distinguish the cases only if they contain an explicit processing diagnostic:
- Manifest successfully inspected, declaration absent or unrecognized: supports a genuine DPI declaration finding.
- Executable could not be processed, opened, or parsed: establishes analyzer failure, but does not establish that the declaration is missing.
- Only the final “not DPI aware” classification appears: insufficient to distinguish those cases retrospectively.
Search the XML for the executable name, TEST92, DPIAwarenessValidation, manifest, process, access, and HRESULT or Win32 error values. Preserve the complete report directory rather than only screenshots.
Your existing results support two narrower conclusions:
-
GetProcessDpiAwareness == 2confirms per-monitor awareness, but that enumeration has no separate PerMonitorV2 value; therefore it cannot independently prove V2.^2^ -
CreateActCtxreturning access denied in one package context—while ordinary reads and an identical copied file succeed—shows that activation-context processing is context-sensitive in that experiment. Because the original WACK process was not traced, it does not prove that WACK encountered the same denial.
Retain independent evidence that the installed executable itself contains the declaration, including:
- The installed package full name, version, architecture, and executable path.
- A manifest extraction from that exact installed binary, not the build-tree copy.
- The extracted
dpiAwarenesselement and its namespace. - The binary hash, correlated with the packaged payload.
- Runtime DPI-context observations.
For supported Windows versions, dpiAwareness overrides dpiAware, and PerMonitorV2 is recognized beginning with Windows 10 version 1703. Microsoft recommends embedding the application manifest in the executable; a sidecar manifest should conventionally match the executable name.^3^
If API-based evidence is needed, use a DPI-awareness-context API rather than relying only on the legacy three-value process enumeration. SetProcessDpiAwarenessContext can select PerMonitorV2, but it must run before DPI-dependent APIs or UI creation.^4^
TEST88: classify findings rather than treating every string as execution
TEST88 is an optional Desktop Bridge test intended to identify compatibility risks for Windows S mode. Optional results are informational and do not determine Store onboarding pass/fail.^5^
Build a review table for every reported entry:
| Finding | Classification | Evidence to retain | Action |
|---|---|---|---|
| Main executable starts itself as a Python multiprocessing worker | Packaged application component | Parent/child image paths, command line, package-relative resolution, worker purpose | Document as required in-package self-spawn |
| Launch of an executable shipped inside the same package | Packaged component | Package inventory, hashes, runtime trace | May be treated as part of the application |
Launch of cmd, PowerShell, script hosts, or another external executable |
External dependency | Runtime trace and resolved path | Remove or redesign if reachable |
| Qt/OpenGL import or launch API reference | Static/conditional reference | Owning binary, symbol/import, reachability analysis | Document separately; do not claim execution |
| Short matching string in a dependency | Static string match | File, offset/string, dependency version | Record as an analyzer match, not process-launch evidence |
Microsoft’s corrective guidance is explicit: remove calls that launch executables not part of the app; if the flagged executable is part of the application, the warning may be ignored.^5^
For Qt/OpenGL paths, state only what the evidence establishes:
- the dependency contains a launch-related import, string, or conditional code path;
- whether the path is reachable under your configuration;
- whether runtime tracing observed a child process;
- if observed, the resolved child image and whether it belongs to the package.
Do not characterize an unobserved conditional reference as an executed launch. Conversely, document the Python self-spawn explicitly because it is known required behavior.
Supported clarification path
Local WACK is deprecated and no longer maintained; it remains available only for optional pre-submission checks. Official certification runs automatically after submission to Partner Center.^6^
Submit the release MSIX with concise Notes for certification containing:
- TEST92’s exact processing message;
- extracted PerMonitorV2 manifest evidence from the installed binary;
- binary/package hashes;
- the package-context
CreateActCtxcomparison, clearly labelled as a separate reproduction; - the TEST88 classification table;
- confirmation that Python workers resolve to the packaged executable;
- runtime evidence distinguishing observed launches from static library references.
Partner Center’s certification report is the authoritative outcome. If certification fails or its report treats either finding as blocking, respond to the certification-report communication and attach the preserved evidence; Microsoft’s MSIX guidance identifies that route for clarification.^7^
References