The Purpose of Certification
Certification is the automated and manual validation process every app must pass before it can be published in the Microsoft Store, designed to catch security risks, performance problems, manifest errors, and Store Policy violations before they reach end users. The two main components are the Windows App Certification Kit (WACK), a downloadable tool developers run locally that performs the same checks Microsoft's pipeline runs, and the Store's own backend certification service, which repeats automated scans and adds a manual functional review pass. Passing WACK locally doesn't guarantee passing Store certification, since the Store also enforces policy checks (like content and monetization rules) that WACK doesn't evaluate.
Cricket analogy: Running WACK locally before submission is like a bowler practicing with a match ball and stump camera in the nets before an official ICC-sanctioned match, catching issues before it counts.
What WACK and the Store Pipeline Check
WACK validates package integrity (does the manifest parse and match the binaries), performance criteria (launch time budgets, memory usage under load), security posture (no use of banned APIs, no unsigned or debug binaries in a release build), and reliability (the app must launch, run for a minimum duration, and exit cleanly without crashing during an automated exercise pass). The Store's backend layers on top of this with malware scanning, capability-usage auditing (flagging capabilities declared but never invoked), content policy checks against age ratings, and for apps with in-app purchases, validation that the Store commerce APIs are used correctly rather than a bypassing payment mechanism.
Cricket analogy: WACK's launch-time performance budget is like a fielding drill timing how fast a player completes a run-out throw, if it's too slow it fails the standard regardless of accuracy.
# Run the Windows App Certification Kit against a built package
& "C:\Program Files (x86)\Windows Kits\10\App Certification Kit\appcert.exe" test `
-apptype uwp `
-packagefullname "Contoso.NotesApp_3.2.0.0_x64__8wekyb3d8bbwe" `
-reportoutputpath "C:\Reports\wack_result.xml"
# Inspect the summary result
[xml]$report = Get-Content "C:\Reports\wack_result.xml"
$report.REPORT.REQUIREMENTS.REQUIREMENT |
Where-Object { $_.RESULT -eq "FAIL" } |
Select-Object NAME, RESULTCommon Failure Categories and How to Fix Them
The most frequent WACK failures are performance-related: apps that take too long to launch (the Store's guidance targets a splash screen dismissed and first frame rendered within a few seconds), or that leak memory across repeated suspend/resume cycles, which WACK specifically exercises. Manifest-related failures include declaring a capability without a matching usage justification, or targeting an unsupported minimum OS version. On the manual Store review side, the most common failures involve incomplete functionality (broken buttons, placeholder content), misleading Store listing screenshots that don't reflect actual app behavior, and monetization violations such as prompting for payment outside the Store's commerce APIs for digital goods.
Cricket analogy: Failing on launch-time budget is like a bowler being no-balled for overstepping the crease, a hard technical limit that's enforced regardless of how good the delivery itself was.
The WACK report XML lists each requirement with a PASS/FAIL/WARNING status and a description of the exact test that failed — always parse this report programmatically (as shown in the code example) in CI pipelines rather than eyeballing the GUI report, so certification failures block a build before it's ever manually submitted.
WACK's performance tests run on the actual hardware executing the tool, so results can vary between a fast development machine and slower certified hardware — don't treat a narrow local PASS as a guarantee; test on lower-spec hardware or a VM matching Microsoft's minimum certification baseline when performance margins are tight.
- Certification validates package integrity, performance, security, and reliability before Store publication.
- WACK is a local tool that runs the same automated checks as part of Microsoft's pipeline, but doesn't cover Store policy review.
- The Store backend adds malware scanning, capability-usage auditing, content policy checks, and monetization validation.
- Common WACK failures are launch-time performance and memory leaks across suspend/resume cycles.
- Common manual review failures include incomplete functionality, misleading screenshots, and bypassing Store commerce APIs.
- The WACK report XML should be parsed in CI to gate builds before manual Store submission.
- Performance test results can vary by hardware, so passing on a fast dev machine isn't a guaranteed pass everywhere.
Practice what you learned
1. What is the Windows App Certification Kit (WACK) primarily used for?
2. Why doesn't passing WACK guarantee passing Store certification?
3. What is a common WACK failure related to app performance?
4. What is a common cause of manual Store review rejection related to monetization?
Was this page helpful?
You May Also Like
The Microsoft Store Submission Process
A walkthrough of how developers register, package, and submit UWP/MSIX apps through Partner Center for review and publication in the Microsoft Store.
MSIX Packaging
MSIX is Microsoft's modern Windows app packaging format that unifies MSI, APPX, ClickOnce, and App-V into a single container with clean install/uninstall and dependency management.
UWP App Updates
How UWP and MSIX apps receive updates through the Microsoft Store, differential block-map delivery, and enterprise deployment tools.
Sideloading UWP Apps
How to install UWP/MSIX apps outside the Microsoft Store for development, testing, and enterprise line-of-business distribution.
Related Reading
Related Study Notes in Microsoft Technologies
Browse all study notesWindows Batch Scripting Study Notes
Batch · 30 topics
Microsoft TechnologiesMFC (Microsoft Foundation Classes) Study Notes
C++ · 30 topics
Microsoft TechnologiesSilverlight Study Notes
.NET · 30 topics
Microsoft TechnologiesXAML Study Notes
.NET · 30 topics
Microsoft TechnologiesWPF (Windows Presentation Foundation) Study Notes
.NET · 30 topics
Microsoft TechnologiesMVVM Design Pattern Study Notes
.NET · 30 topics