GUI tool for preparing Python apps for the Microsoft Store — Manifest, Icons, and MSIX package at the click of a button
| Feature | Description |
|---|---|
| Manifest Generator | Automatically creates AppxManifest.xml from form inputs |
| Icon Generator | All required Store sizes: 44×44, 50×50, 150×150, 310×310, 310×150 (Wide) |
| Keyring Integration | Secure storage of certificate passwords (no plaintext) |
| Screenshot Assistant | Captures app screenshots directly via pygetwindow |
| 11 Store Categories | Predefined (Games, Productivity, Developer Tools, ...) |
| Age Ratings | 3+ to 18+ ratings |
| MSIX Build | Invokes makeappx.exe and signtool.exe from the Windows SDK |
| Settings Persistence | Configuration is saved in JSON and loaded on next launch |
| Auto-Install | Missing dependencies are automatically installed |
The current UI combines manifest fields, icon generation, screenshot capture, and MSIX build preparation in one desktop workflow.
WinStorePackager now ships with a shared project profile format: PROJECT_PROFILE_FORMAT.md. The desktop app can import and export winstorepackager-project-v1.json so that Store metadata can be prepared outside Windows without exposing local Publisher IDs, SDK paths, certificate paths, or passwords.
The browser-based companion lives in web_companion/index.html. It offers the same project questionnaire, manifest preview, icon-size check, and JSON import/export as before, but now also supports a local app shell with service worker, offline fallback, install prompt, and a small cross-platform localhost starter.
python web_companion/serve_companion.pyOpen http://127.0.0.1:8765/index.html if the browser does not launch automatically. Directly opening web_companion/index.html still works for local editing and JSON export, but install and offline features only work via localhost or https.
- Python 3.10+
- Windows 10/11
- Windows SDK (for
makeappx.exeandsigntool.exe) - Microsoft Store developer account (for submission)
pip install -r requirements.txtgit clone https://github.com/file-bricks/WinStorePackager.git
cd WinStorePackager
pip install -r requirements.txt
python WindowsStorePublisher_3.pyOr on Windows, double-click START.bat.
- Launch the tool —
python WindowsStorePublisher_3.pyorSTART.bat - Enter app data — Name, Publisher ID, version, path to
.pyfile - Select icon — the tool automatically generates all Store sizes
- Generate manifest —
AppxManifest.xmlis created - Build MSIX — Tool invokes
makeappx.exeand creates the package - Sign — Select certificate, enter password securely via Keyring
On first launch, settings_store_packager.json is created locally and ignored by Git. It may contain local Publisher IDs, certificate paths, Windows SDK paths, and other machine-specific settings. Template:
{
"app_name": "MyApp",
"publisher": "CN=YOUR-PUBLISHER-ID",
"publisher_display": "Your Name",
"version": "1.0.0.0",
"makeappx_path": "C:/Program Files (x86)/Windows Kits/10/App Certification Kit/makeappx.exe",
"signtool_path": "C:/Program Files (x86)/Windows Kits/10/App Certification Kit/signtool.exe"
}You can find your Publisher ID in the Microsoft Partner Center.
WinStorePackager works on local project files only. Generated MSIX packages, EXE builds, temporary staging folders, local settings, certificates, and release bundles are intentionally ignored by Git and should be distributed through GitHub Releases, Microsoft Store submissions, or another release channel instead of source commits.
If dependencies are missing, the launcher can install Python packages from PyPI via pip. After dependencies are installed, the packaging workflow itself runs locally and uses the Windows SDK tools configured on your machine.
The repository intentionally tracks only source code, documentation, workflow files, and static sample assets. Local Partner Center data, Publisher IDs in settings_store_packager.json, certificates, generated manifests, MSIX/AppX packages, WACK logs, screenshots, and release bundles stay outside Git via .gitignore.
Last hygiene check: 2026-05-17. The check found no tracked secrets, no tracked ignored files, and no pending local commits before this documentation refresh.
| Feature | WinStorePackager | MSIX Packaging Tool | Visual Studio | Advanced Installer |
|---|---|---|---|---|
| GUI | ✅ | ✅ | ✅ | |
| Python Focus | ✅ | ❌ | ❌ | ❌ |
| Auto-Icons | ✅ | ❌ | ✅ | |
| Manifest Template | ✅ | ❌ | ✅ | ✅ |
| Free | ✅ | ✅ | ❌ | |
| Screenshot Assistant | ✅ | ❌ | ❌ | ❌ |
| Keyring Security | ✅ | ❌ | ❌ | ❌ |
Dieses Projekt steht unter der MIT License.
A GUI tool for preparing Python applications for the Microsoft Store (MSIX packaging).
- MSIX package creation
- App manifest generation
- Icon and asset management
- Store submission preparation
- Shared project profile exchange via
winstorepackager-project-v1.json - Installable local browser companion with offline shell, manifest preview, and icon checks
git clone https://github.com/file-bricks/WinStorePackager.git
cd WinStorePackager
pip install -r requirements.txt
python "WindowsStorePublisher_3.py"See LICENSE for details.
Dieses Projekt ist eine unentgeltliche Open-Source-Schenkung im Sinne der §§ 516 ff. BGB. Die Haftung des Urhebers ist gemäß § 521 BGB auf Vorsatz und grobe Fahrlässigkeit beschränkt. Ergänzend gilt der Haftungsausschluss der MIT License.
Nutzung auf eigenes Risiko. Keine Wartungszusage, keine Verfügbarkeitsgarantie, keine Gewähr für Fehlerfreiheit oder Eignung für einen bestimmten Zweck.
This project is an unpaid open-source donation. Liability is limited to intent and gross negligence (§ 521 German Civil Code). Use at your own risk. No warranty, no maintenance guarantee, no fitness-for-purpose assumed.
