Files
Recordly/docs/microsoft-store.md
webadderall 08f72ef6aa Recordly 2.0 local review stack 5/6
Dependency-ordered review preparation. Not pushed or remotely reviewed.
2026-11-06 05:24:22 +11:00

5.5 KiB
Raw Permalink Blame History

Microsoft Store distribution

Recordly uses electron-builder 26's appx target for Store distribution. Microsoft accepts AppX and MSIX packages and signs approved packages. No purchased code-signing certificate, USB token, or cloud-signing subscription is needed for this route. An unsigned artifact is for submission; it is not a trusted direct-download installer.

Account and identity

Register the appropriate Windows developer account in Partner Center and reserve the product name before building. Use a durable account the publisher controls. Choose an account type that accurately reflects the publisher and commercial use; do not assume a student or hobby account is suitable for a commercial product. Complete Microsoft's identity, age/guardian and agreement requirements as applicable.

Copy these exact values from Product management > Product identity to repository Actions variables (or environment variables for a local Windows build):

Variable Partner Center field
RECORDLY_STORE_IDENTITY_NAME Package/Identity/Name
RECORDLY_STORE_PUBLISHER Package/Identity/Publisher (including CN=)
RECORDLY_STORE_PUBLISHER_DISPLAY_NAME Package/Properties/PublisherDisplayName

Set RECORDLY_STORE_VERSION to an increasing major.minor.patch for each upload. Each component must fit 0–65535, major must be nonzero. The manifest's fourth component is always zero, as required by Store. For example, 2.0.0 creates 2.0.0.0; a subsequent package must increase to 2.0.1 or higher. GitHub run numbers and beta suffixes do not become Store revisions. The packaged app reports this Store version without changing the repository's version.

Build

On Windows x64, install the existing native build prerequisites and dependencies, configure the variables above and the normal production cloud settings, then run:

npm run build:win:store

The dispatch-only Microsoft Store package GitHub workflow performs the same build and uploads release/store/Recordly-store-<version>-x64.appx as an Actions artifact. It does not create a GitHub release or submit/publish to Microsoft. The existing direct-download release pipeline is preserved.

The package uses full-trust desktop execution, Windows 10 build 19041 or newer, the existing recordly:// auth protocol and bundled native helpers. Only x64 is currently supported. Store installs disable electron-updater and experimental update channels; Microsoft Store manages updates. An explicit native update check opens the Store's updates page. Windows retains the package-generated app identity.

New Store recordings and projects default to Videos/Recordly, outside removable package state. Saved custom recording directories still take precedence. Existing direct-install recordings are not moved; select their directory in Settings to reuse them. Test Store uninstall/upgrade behavior before release, including any custom directory selected inside AppData. Auth/preferences in package data may be removed by uninstall.

build/appx contains Store tile images derived from the existing icons/icons/png/1024x1024.png icon. Regenerate these when the app icon changes: StoreLogo 50×50, Square44x44Logo 44×44, Square150x150Logo 150×150 and Wide310x150Logo 310×150 with centered artwork.

Certification and submission

Before submitting, run the Windows App Certification Kit and install the package on a clean Windows machine. For pre-Store sideload testing, use an appropriately trusted development certificate or Microsoft's testing flow; an unsigned artifact cannot be installed as a trusted Store release. A local build alone is not evidence of Store approval or runtime compatibility.

Verify:

  • Cold/warm launch, recordly:// login callback and Store-managed updates.
  • Screen/window capture, system audio, microphone and webcam with permissions both allowed and denied; cursor hooks and multi-window recording controls.
  • Native/GPU/software exports, FFmpeg, captions and loopback media servers on a machine without developer tools (including required VC++ runtime dependencies).
  • Upgrades, uninstall/reinstall, retained videos/projects and existing custom paths.

Draft restricted-capability explanation for runFullTrust:

Recordly is an Electron desktop screen recorder and video editor. It launches bundled native helpers for user-initiated Windows screen/window and audio capture, cursor tracking, transcription and video export. Full-trust desktop execution is required for these Win32 components. Microphone and webcam access support optional user-selected recordings. Captured media is stored locally; cloud sharing is initiated by the user.

Review that explanation against the submitted build. Provide an accurate privacy policy, screenshots, feature/paid-cloud descriptions and third-party payment disclosure. Resolve certification feedback before approving publication. Do not request borderless capture or broad filesystem capabilities merely to bypass permissions. Account setup, package identity, Windows runtime testing and final submission remain separate steps from preparing the build configuration.

References: Microsoft package requirements, developer accounts, packaged desktop requirements, Store policies.