You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| OS (codesign / jsign) | The executable (`.app` / `.exe`) | The OS, on launch | Gatekeeper / SmartScreen warnings |
161
-
| Tauri updater (ed25519) | The update bundle (`.tar.gz` / `.nsis.zip`) | The running app, on update | Updater rejects the download |
161
+
| Tauri updater (ed25519) | The update bundle (`.tar.gz` / `.exe` / `.AppImage`) | The running app, on update | Updater rejects the download |
162
162
163
163
**Order matters:** OS-sign the inner executable first, then package it into the update bundle, then Tauri-sign the bundle. The `.sig` file is generated from the final bundle that already contains the OS-signed binary.
164
164
165
165
```
166
166
codesign/jsign the executable
167
-
→ package into update bundle (.tar.gz / .nsis.zip)
167
+
→ package into update bundle (.tar.gz for macOS; installer/AppImage directly on Windows/Linux)
168
168
→ Tauri-sign the bundle → produces .sig file
169
169
→ upload bundle + .sig to GitHub Release
170
170
```
@@ -186,14 +186,15 @@ codesign/jsign the executable
- Rebuild the NSIS installer around the signed exe
189
-
- Sign the installer exe: `jsign ... MouseTerm-windows-x64.exe`
189
+
- Sign the installer exe: `jsign ... MouseTerm-windows-x64-setup.exe`
190
190
5. **Sign update bundles** (Tauri layer)
191
-
- Tauri-sign each update bundle (the `.tar.gz` and `.nsis.zip` from steps 3-4) using `TAURI_SIGNING_PRIVATE_KEY`
191
+
- Tauri-sign each update bundle using `TAURI_SIGNING_PRIVATE_KEY`
192
+
- Current Tauri v2 output mode (`createUpdaterArtifacts: true`) uses the NSIS installer `.exe` directly on Windows and the `.AppImage` directly on Linux
192
193
- This produces a `.sig` file per bundle
193
194
- Build the update manifest JSON (see below) with the `.sig` contents inline
These can later be migrated to `mouseterm.com/download/...` URLs backed by Cloudflare R2 (for analytics) without changing anything in the app — only the website links and the updater endpoint URL in `tauri.conf.json` would change.
@@ -249,6 +251,8 @@ In `standalone/src-tauri/tauri.conf.json`:
249
251
}
250
252
```
251
253
254
+
`createUpdaterArtifacts: true` is the Tauri v2 artifact mode. In this mode Windows updates use the NSIS installer `.exe` directly, Linux updates use the `.AppImage` directly, and macOS updates use the `.app.tar.gz` archive. Do not configure `"v1Compatible"` unless intentionally producing legacy `.nsis.zip` and `.AppImage.tar.gz` updater bundles for old Tauri v1 clients.
255
+
252
256
And in the Rust app bootstrap (`standalone/src-tauri/src/lib.rs`), the updater plugin is registered with:
253
257
254
258
```rust
@@ -268,15 +272,15 @@ Generated by the local script after signing. The script writes it to `website/pu
0 commit comments