Skip to content

Submit openstan MSI to Microsoft Store #195

Description

@boscorat

Objective

Submit the openstan MSI installer to the Microsoft Store for distribution, including all preparation, certification, and future update processes.

Current Status

  • App name "openstan" has been reserved in Microsoft Partner Center
  • Developer account registration pending (Individual account recommended — no DUNS needed)
  • MSI built with WiX Toolset v4.0.5 + cx_Freeze, ~130-180 MB
  • Signed with Certum OV via jsign + SimplySign Desktop
  • Silent install works via standard MSI /qn — no special parameters needed
  • Custom action (LaunchApplication) only fires on fresh installs with optional checkbox — safe for silent install
  • User data stored in %APPDATA%\openstan — separate from install location, OK for Store policies
  • Existing in-app update checker uses GitHub Releases API — compatible with both direct and Store installs
  • GitHub Releases URL pattern: https://github.com/boscorat/openstan/releases/download/v1.2.3/openstan-1.2.3-Windows.msi
  • Privacy policy available at https://openstan.org/privacy/

Steps

Phase 1: Account Setup (one-time)

  • Register Individual account at storedeveloper.microsoft.com
  • Verify identity with government ID + selfie (Instant access)
  • Confirm publisher display name

Phase 2: Store Assets

  • Capture Windows screenshots (5 recommended) showing:
    1. Main window with transactions loaded (light theme)
    2. Import dialog or batch import in progress
    3. Report builder with filters applied
    4. Export dialog or results
    5. Dark theme variant of main window
  • Prepare Store logo (1:1 box art) and poster art (2:3)
  • Finalize Store description (see draft below)
  • Confirm privacy policy URL: https://openstan.org/privacy/

Phase 3: Package Verification

  • Verify MSI silent install locally: msiexec /i openstan-X.X.X-Windows.msi /qn
    • Installs with no UI
    • UAC prompt is acceptable
    • Start Menu entry created
    • App launches correctly after install
    • Add/Remove Programs shows correct ProductName, Publisher, Version
  • Confirm versioned HTTPS URL works (GitHub Releases)
  • Confirm signing is valid (Certum OV)

Phase 4: Submission

  • Create submission in Partner Center
  • Upload package URL, set installer parameters:
    • App type: MSI
    • Package URL: GitHub Releases versioned URL
    • Architecture: x64
    • Languages: en-GB (or en-US)
    • Installer parameters: (leave blank — /qn is default)
    • isSilentInstall: true
  • Fill in Store listing, screenshots, age rating
  • Submit for certification

Phase 5: Post-Certification

  • Add Store badge to README and website
  • Update RELEASE.md with Store submission step
  • Consider future MSIX package for auto-updates via Store

Store Listing Draft

Short description (max 1,000 chars):

Free, open-source UK bank statement analyser. Parse PDFs, review transactions, export to Excel — 100% offline.

Full description (max 10,000 chars):

openstan — Free UK Bank Statement Analyser

Parse, analyse, and export your UK bank statement PDFs in seconds. Free, open source, and 100% offline — your data never leaves your machine.

Import an entire year of statements, build reports, and export to Excel in under a minute. No subscription. No account. No internet connection required.

Features
• Batch import — drop a folder of PDFs and import them all in one pass
• Smart results review — SUCCESS / REVIEW / FAILURE tabs with per-file debug output and side-by-side PDF view
• Gap detection — missing statement periods are flagged automatically
• Flexible export — flat transactions table or full star-schema dataset to Excel, CSV, or JSON
• No-code report builder — filter, group, and aggregate transactions; save named report configurations
• Advanced export — spec-driven custom exports via TOML files with per-account and date-range filtering
• Light and dark theme, full keyboard navigation

Supported banks
HSBC, TSB, NatWest, Halifax — and extensible by anyone via TOML configuration files (no coding required).

Privacy
100% offline. No account. No telemetry. No analytics. Your financial data never leaves your machine. One silent version check against GitHub on startup — no personal data is transmitted.

Open source
LGPL-3.0-or-later. Source code: github.com/boscorat/openstan

Keywords (max 7 terms):

  1. bank statement
  2. UK finance
  3. tax return
  4. PDF parser
  5. Excel export
  6. open source
  7. offline

Certification Process

Microsoft tests:

  1. Silent install — must complete without UI
  2. Standard user install — must work without admin
  3. Start menu entry — must be discoverable
  4. Clean uninstall — no file/folder/registry remnants (user data in AppData is OK)
  5. Security scan — malware/virus check
  6. Content compliance — Store policies, age rating, description accuracy

Common failure reasons to avoid:

  • No Start Menu entry
  • Installer requires admin when it shouldn't
  • Incomplete uninstall
  • Missing ProductName/Publisher in MSI properties
  • App crashes on launch

Future Updates

For each new release:

  1. Build new MSI (CI does this automatically)
  2. Sign with jsign + SimplySign (existing manual step)
  3. Upload to GitHub Releases with versioned URL
  4. In Partner Center → Update app → provide new package URL
  5. Submit for re-certification (1-3 business days)

The existing update checker (GitHub Releases API) works for both direct downloads and Store installs. For Store-installed copies, users can also update via the Store app itself.

Notes

  • Developer account can be Individual (free) — no DUNS needed
  • Name reservation is complete — openstan is reserved
  • Screenshots need to be Windows versions (current ones are macOS)
  • This issue tracks the Store submission process; categorization and milestones to be handled by maintainer

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

buildanything to do with the build & release processcicontinuous integration - used by dependabot

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions