# Desktop apps: Windows, macOS and Linux

Source: https://saastostore.com/docs/desktop

A desktop build wraps your website in a real desktop app, with its own window and icon in the taskbar or Dock. One build gives you an installer for Windows, macOS and Linux.

## What you get

| System | File | Where it can go |
| --- | --- | --- |
| Windows | `.msi` | Your website, GitHub Releases, Microsoft Store (as `.msix`) |
| macOS | `.dmg` | Your website, GitHub Releases |
| Linux | `.AppImage` | Your website, GitHub Releases, Snap Store, Flathub |

Each system builds on its own, and the Build tab shows the progress of all three. Download links appear as each one ends.

## How to build

1. **Set your icon and name** Use a square icon. Linux needs it to be square, and a non-square one can stop the build.
2. **Open the Build tab** Choose the desktop build and launch it. SHIP and BUSINESS both include it.
3. **Download and test** Install the app on your own computer and try your main pages.

## The warning on first launch

Code signing is not live yet, so Windows and macOS warn people before opening the app. Unsigned builds still install: the warning is friction, not a wall.

| System | What people see | What they do |
| --- | --- | --- |
| Windows | SmartScreen: "Windows protected your PC" | **More info**, then **Run anyway** |
| macOS | "Cannot be opened because the developer cannot be verified" | Right-click the app, then **Open**. On recent macOS versions, allow it in **System Settings → Privacy & Security** |
| Linux | No warning | Mark the `.AppImage` as executable, then run it |

If you share the file on your website, add those instructions next to the download button. It lowers the number of people who give up.

## Publish to desktop stores

- **Microsoft Store:** the Publish tab generates the `.msix` package and sends it.
- **GitHub Releases:** a simple way to host your files with a stable link.
- **Snap Store and Flathub:** both reach Linux users. Flathub reviews each new app.

The Publish tab lists what each store needs once your plan is active.

## What works differently on desktop

- Plugins and `window.saastostore` don't run on desktop.
- Native tabs and menus are for phones. Your site's own navigation is what people use.
- Google sign-in has the same rule against embedded browsers as on mobile. Test it first, and offer email sign-in as an alternative.
- Your site should be comfortable on a large screen, as the window is resizable.

## Frequently asked questions

### Does the desktop app update when my website changes?

Yes. The app shows your live site, so content changes appear on their own. A new icon or name needs a new build.

### Can I build for only one system?

A desktop build compiles the three systems together. You choose which files to share.

### Can I publish on the Mac App Store?

No. The macOS build gives you a .dmg file to share yourself.

### Why is the Microsoft Store file different from the .msi?

The Microsoft Store takes an .msix package, generated from your site's URL at publishing time. The .msi is for direct downloads.
