Build Windows x64 and ARM64 Tauri Installers and Release Them
Get the Tauri Local-AI Starter Kit on Gumroad $199 one time
The problem
Getting a desktop app to run on your own computer is the easy half. The hard half is producing an installer a customer can run, for both common Windows processor types, with checksums and a repeatable release process that does not depend on you remembering twelve steps. Many first releases stall on exactly this, because a sidecar built for one processor cannot simply be copied to the other.
The kit separates the job into two layers. Locally, one command builds an installer for the computer you are on. For releases, a pipeline builds x64 and ARM64 natively, smoke-tests the result and publishes only the installers and a checksum file to a separate public repo. This guide goes through both layers in the order you will meet them. Only Windows is tested, and nothing here should be read as covering other systems.
Steps
Check the prerequisites
You need Node 24 or newer, the stable Rust toolchain, Microsoft C++ Build Tools with the Desktop development with C++ workload for your processor type, and Microsoft Edge WebView2. The installers you build download WebView2 on the user's PC if it is missing, which needs an internet connection once.
Rename the kit to your app
Run
npm run init-app, with--dry-runfirst if you want to preview the changes. It rewrites the display name, identifier, executable and installer names, and fills inconfig/release.json. Run it on a clean tree sogit diffshows you exactly what changed.Build a local installer
Run
npm run desktop:build. It runs the web build, builds the sidecar, then runstauri build. The result is a per-user NSIS installer that needs no administrator rights, placed insrc-tauri/target/release/bundle/nsis/.Build on the matching processor
The build covers the computer you are on only, because the sidecar embeds the local
node.exe. Build x64 on x64 Windows and ARM64 on ARM64 Windows. The pipeline in the next steps does this for you on two runners.Point the pipeline at your repos
Set
sourceRepoandreleasesRepoinconfig/release.json(or pass--repoand--releases-repoto init-app). Create a fine-grained token that can write contents to the releases repo only, and store it as theRELEASES_TOKENsecret of the source repo.Merge the release pull request
release-please keeps a release pull request up to date from your conventional commits. Merging it tags the version and starts the Windows builds, each with a sidecar smoke test. The publish job then sends only the two installers and
SHA256SUMS.txtto the public repo.
The warning your customers will see
The kit deliberately costs nothing to run, so it uses no code-signing certificate. Installers are unsigned, and Windows SmartScreen shows "Windows protected your PC" the first time one runs. Customers click More info and then Run anyway. The release notes explain this and show how to compare the download with the checksum file, but you should decide whether your audience will tolerate it. A signing step has a marked placeholder in the desktop workflow if you add a certificate later.
Automatic updating of installed apps is not switched on in the kit. An optional update feature, off by default, only checks your releases repo and shows a notice.
Time and cost to expect
A full release takes roughly 25 to 30 minutes of wall time, because the two Windows builds and the source job run at the same time. In a private repo, Windows minutes count double, so plan for around 80 to 100 billed minutes per release. These are estimates until you have a few real runs of your own.
Pros and cons
Pros
- One local command produces a working per-user installer without administrator rights.
- The pipeline builds x64 and ARM64 natively and smoke-tests the server before anything is published.
- Only installers and checksums reach the public repo, so your source stays private.
- Names and repos are set through init-app and one config file instead of scattered edits.
Cons
- Installers are unsigned, which triggers a SmartScreen warning for your customers.
- You must build each processor type on matching hardware or runners.
- The ARM64 runner on GitHub can be slow to start or unavailable, and a full release is a long wait.
- Only Windows is tested, so the manual options for other systems should not be offered to users.
Frequently asked questions
Can I build the ARM64 installer from an x64 computer?
The kit does not wire that up. The sidecar is built from a Node executable for the target processor, so the supported route is building on the matching hardware.
What does the installer file look like?
A per-user NSIS installer named like Starter App__x64-setup.exe, where the version comes from package.json. Names change after init-app.
What happens if the token is missing?
The publish job stops early with a message pointing to the setup instructions, nothing is published and the other build assets still finish.
Do I have to use the release pipeline?
No. npm run desktop:build works on its own. The pipeline adds repeatable releases, checksums and the public downloads repo.
Get the Tauri Local-AI Starter Kit on Gumroad $199 one time