The Problem: Python on the Windows Store? 🤔
We all know distributing Python desktop apps to non-technical users can be a pain. Asking users to pip install dependencies is a no-go. I wanted to build DotScramble—a privacy-focused image encryption tool—and make it available natively on the Microsoft Store for Windows 10 and 11.
The challenge? Converting a Python script into a signed, store-ready MSIX package without doing it manually every time.
The Stack 🛠️
Core: Python 3.10 + Tkinter (tkinterdnd2 for drag-and-drop).
Build: PyInstaller (to create the EXE).
Packaging: MSIX (MakeAppx.exe).
CI/CD: GitHub Actions (The magic sauce).
The "Aha!" Moment: Automating the Build
Instead of manually running PyInstaller and MakeAppx locally, I built a GitHub Actions workflow that does the heavy lifting.
Here is the logic I used in my .github/workflows/build.yml:
Setup: Install Python & System Deps (like Tesseract).
Build EXE: Run pyinstaller --onefile.
Layout: Create the MSIX directory structure and copy assets.
Pack: Dynamically find MakeAppx.exe on the runner and pack the MSIX.
Artifact: Upload the final package ready for the Partner Center.
It wasn't easy—I faced issues with runFullTrust capabilities and manifest validation errors—but finally seeing that green checkmark and the "In Certification" status on the Partner Center was worth it.
Introducing: DotScramble
DotScramble is the result of this journey. It’s a 100% offline tool that lets you scramble and encrypt your images locally.
I just uploaded a quick teaser to show it in action:
(Note: The app is currently in certification and will be live on the Store soon!)
Key Takeaway
If you are a Python developer, don't be afraid of the Windows Store. With PyInstaller and a little PowerShell magic in GitHub Actions, you can automate the entire delivery pipeline.
Let me know in the comments if you want a detailed tutorial on the AppxManifest.xml configuration!
Top comments (0)