MSIX manifest checker
Add your .msix and this reads its manifest and lists anything that could get your submission rejected, with a link to the Microsoft rule behind each one.
Paste the manifest instead
What it checks
Every check comes from Microsoft's own documentation, linked after it.
- The manifest is a Windows 10 or 11 Package with Identity, Properties and Dependencies. Package element
- Identity Name is 3 to 50 letters, numbers, dots and dashes without reserved words, and Publisher is a valid distinguished name. Identity name and publisher rules
- Version has four parts from 0 to 65535, the first part isn't 0 and the last part is 0, since the Store keeps it for itself. Package version numbering
- ProcessorArchitecture is one Windows knows, and is set when the package runs code. Identity element
- Name, Publisher and PublisherDisplayName are shown so you can match them against Partner Center. App package requirements
- Properties has DisplayName, PublisherDisplayName and Logo. Properties element
- Display names and descriptions aren't empty and don't start or end with spaces. App manifest resources test
- Each app's uap:VisualElements has its name, description, color and both logos, with valid lengths and image paths. uap:VisualElements element
- Application Ids follow the naming rules and aren't used twice. Application Id rules
- Each app has a valid Executable and EntryPoint, or a supported uap10 combination. Application element
- Each TargetDeviceFamily has a name, MinVersion and MaxVersionTested, doesn't target IoT, and targets at least 10.0.14393.0 for Xbox. TargetDeviceFamily element
- MinVersion below Windows 10 version 1809, which Store installs of MSIX need. MSIX and the Microsoft Store
- Every resource language is on the Store's supported list. Supported languages
- Restricted capabilities like runFullTrust, which need a reason in your submission, and ones Microsoft rarely or never approves. Restricted capabilities
- runFullTrust is declared when a full trust app or firewall rule needs it. Restricted capability list
- Capabilities are in the order Windows expects. General-use capabilities
- Special use capabilities that only company accounts can use. App Capabilities test
- Custom capabilities, which need Microsoft's approval. Custom capabilities
With an .msix, it also looks inside the package:
- Every image the manifest points to is in the package, no image mixes scale and targetsize, and each image is under 200 KB. App manifest resources test
- The Store logo has its 100, 125, 150, 200 and 400 percent files. Package logo (Microsoft Store logo)
- The medium tile has a 100 percent file, which the Store still needs. Tiles
- No .pfx or .snk signing keys are left in the package. Private code signing test
- The package is 25 GB or less. Package format requirements
What it can't check
It reads the manifest and the file list, so it can't run your app or check your binaries the way the Windows App Certification Kit does. It also can't see your Partner Center account, so compare the identity values yourself under Product identity. Bundles (.msixbundle and .msixupload) hold several packages, so drop one of the .msix files inside instead. If certification already failed, the guide to fixing a failed certification covers the usual reasons.
StoreFast reads your .msix the same way when you publish an update, then submits it to the Microsoft Store for you. See StoreFast