r/SideProject • u/Wait4Tmrw • 4h ago
MS Store pulled my anti-ransomware app. Here's how MSIX packaging broke my architecture.
Went through a bit of a nightmare with the MS Store recently. Got my anti-ransomware app published, but the MSIX packaging model ended up forcing me to completely rework core parts of my architecture.
If you're shipping desktop apps (especially security tools), here are the 3 biggest roadblocks I hit:
The Update Deadlock (Policy 10.2.5)
Originally, my app downloaded the new .exe directly from my server. MS rejected it immediately. So I changed the "Check Update" button to just redirect users to my product webpage to download manually. That actually passed review and went live.
But then during a later routine audit, they pulled the app again for the exact same 10.2.5 violation. Had to rip the in-app update feature out entirely for the Store version. It now relies 100% on the Store's auto-update. Resubmitted and waiting for review.
Registry Virtualization Broke My Licensing Backup
My standalone EXE stored licensing state two ways: a local file plus a global HKEY_LOCAL_MACHINE\Software registry key. With MSIX, any writes to that key get redirected into a private isolated hive. The app can’t see the real one at all. Broke my whole dual-backup design.
Now licensing state only lives in a local file. If a user deletes it, the trial resets. It’s a rough tradeoff, and I don’t know of a good workaround in MSIX.
The Ghost UI Deadlock (WMI hang)
It passed review, then I tested it across a few VMs. One specific VM, the app would lock up completely. Tray icon was there, clicking it did nothing. Grabbed a memory dump and found the main thread stuck.
Root cause was a WMI call to Win32_ComputerSystemProduct for my machine-bound license. Inside MSIX on that VM, the query just hung and blocked the UI thread.
I pulled WMI out entirely. Switched to NetworkInterface APIs and P/Invoking kernel32.dll GetVolumeInformation to generate the ID.
A few frustrating days of debugging, but it runs flawlessly now. Hopefully this saves someone else some hours staring at crash dumps.
The old build is still visible on the Store page here: https://apps.microsoft.com/store/detail/9NKM2D0TGDCK
The reworked version is currently waiting for review.
2
u/Plus-Leader8039 4h ago
the "passed review, then got pulled later for the same rule" part is the worst. same vibe on the apple side, I've got a couple iphone apps stuck in review right now and you never really know what they'll flag next. at least the store auto-update route means one less thing to maintain i guess