Repository navigation
Add a Microsoft Store package that updates through the Store and keeps guides in the home folder - #179
Merged
Conversation
…s guides in Documents
Twest2
commented
Oct 29, 2026
| with Chocolatey. | ||
| 3. Install StepForge from the Store, as above. | ||
|
|
||
| Keep only one of the two installed. Having both gives you two StepForge entries |
Owner
Author
There was a problem hiding this comment.
Done in 742c13e: it's an [!IMPORTANT] callout now.
|
|
||
| > No account or sign-in is needed. To test: open StepForge, choose New guide, | ||
| > then Capture → Start capture session. Click anywhere on screen a few times, | ||
| > then stop the recording from the StepForge icon in the notification area. |
… keeping the old copy for 30 days
13 of 17 tasks
Owner
Author
|
BLOCKING: Remove maintainer note created by Claude about the integration with Microsoft store. |
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue
Relates to #178 (point 1, SmartScreen warnings; translations are not part of this PR)
Summary
Adds a Microsoft Store package for Windows. Microsoft signs Store packages, so people who install StepForge from the Store get no Windows protected your PC warning and need no administrator rights. The Store also updates StepForge automatically. Publishing is free for individual developers and uses your own identity.
The Store becomes the recommended Windows install in the docs. The
.exeinstaller and Chocolatey stay as they are.Changes
npm run package:windows:store(scripts/package-windows-store.js) builds an unsigned.appxfrompackaging/windows/store/identity.json(the reserved app name and the values Partner Center assigns). Partner Center signs the package.a.b.c.dbecomes Store versiona.b.(c×100+d).0. Every past release maps to a higher number than the one before.stepforge.exeexecution alias.npm run iconsnow also writes the Store tiles and logos tobuild/appx/.app:openStore)..exe, Chocolatey and Store versions all default to%USERPROFILE%\StepForge.%APPDATA%: Windows deletes everything a Store app writes there when it is uninstalled.%APPDATA%\stepforgeis also Electron's own profile folder.core/library-location.js): on the first start of the new version, a library in%APPDATA%\stepforgeis copied to%USERPROFILE%\StepForge. Only StepForge's folders move (library,settings,cloud,shared-links), not Electron's profile files. Every file's hash is compared, and only then does the app switch. On failure it keeps the old folder active and shows why in Guide storage. A durable checkpoint lets the next start recover even if rollback failed. If the two copies have diverged, both are kept and Guide storage explains how to recover manually.library-location.jsonin place.STEPFORGE_DATA_DIR, or a new folder that already holds a library (for example, both versions installed).stepforge.exealias. The real exe path includes the version number, so it changes with every update.microsoft-store-test-package.identity.jsonis filled in and uploads it as themicrosoft-store-packageartifact. It is not attached to the GitHub release.docs/windows/microsoft-store.md(installing, updates, switching from the.exe, uninstalling) anddocs/windows/MICROSOFT_STORE_RELEASE.md(the maintainer's Partner Center steps).Area
Testing
bash tests/run_test.shpasses (not run: it launches the app)npm test: 1048 passed, 0 failed, 20 skipped. New tests cover version mapping, identity validation, the manifest and alias, tile sizes, Store detection, the default library, the alias path, the Store URL, the update check, the Settings → About buttons and the Update now refusal.tests/checks/test_repo_structure.shpasses..appxcan only be built on Windows, so this PR'swindows-latestCI run is the first real build. Installing the package and checking the alias, the%USERPROFILE%\StepForgelibrary and the Store button still has to be done by hand (steps in the release guide under "Trying a package before you submit").Screenshots or recordings
N/A
Rollout notes
Steps for myself. Details are in
docs/windows/MICROSOFT_STORE_RELEASE.md.packaging/windows/store/identity.jsonand commit it: the name you reserved (displayName, which is a variant such as "StepForge Guides" if StepForge was taken), plus Product management → Product identity (Package/Identity/Name, Package/Identity/Publisher, Package/Properties/PublisherDisplayName, Store ID).microsoft-store-packageartifact.runFullTrustreason and notes for certification. The release guide has text to use..appxand submit for certification.apps.microsoft.com/detail/<Store ID>link.Until the listing is live, the docs' Store link opens a search that finds nothing. Until
identity.jsonis filled in, the release workflow skips the Store package, and releases work as before.Checklist