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
* chore: remove resedit longPathAware Windows afterPack hook
- Drop electron-builder afterPack, mesh-client-long-path.manifest.xml,
and the resedit devDependency; packaged apps use stock Electron PEs.
- Simplify verify-win-packaging to existence/size checks only (no PE parse).
- Rename packaging contract test to windows-packaging.contract.test.ts and
assert afterPack/resedit are absent; remove troubleshooting longPathAware bullet.
longPathAware did not help pnpm build paths and PE rewrites did not fix WoA
NSIS installs; removing the hook reduces packaging risk with no loss to split
x64/arm64 NSIS artifacts.
* chore: bump deps
* ci: add WoA NSIS install smoke tests and diagnostics
- Add test-win-nsis-install.mjs for silent x64/arm64 install checks with
NSIS /LOG= output and optional 7z probe to isolate extract vs copy.
- Run x64 install on windows-latest after dist:win; arm64 repro on
windows-11-arm from build artifacts in build and release workflows.
- Add NSIS customFinish guard (resources/installer.nsh) when Mesh-client.exe
is missing after install.
- Expand WoA troubleshooting with install log, Event Viewer, and policy steps.
- Bump electron-builder to ^26.15.4 and extend packaging contract tests.
WoA users report partial NSIS installs; CI now reproduces install on native
ARM and captures logs before we apply a targeted NSIS fix.
Copy file name to clipboardExpand all lines: docs/troubleshooting.md
+21-2Lines changed: 21 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,14 +16,34 @@ See [development-environment.md](development-environment.md) for OS-specific pre
16
16
17
17
**Cause**
18
18
19
-
Older releases shipped a **universal** NSIS installer (x64 + arm64 in one `.exe`). On **native Windows 11 ARM**, that installer can partially extract support files while failing to copy the main executable.
19
+
On **native Windows 11 ARM**, the arm64 NSIS installer can partially extract support files while failing to copy the main executable. CI builds the exe correctly (it is inside the installer's `app-arm64.7z`); the failure happens at **install time**, not during packaging.
20
+
21
+
Older releases also shipped a **universal** NSIS installer (x64 + arm64 in one `.exe`), which made arch selection worse — use the split **`-arm64.exe`** installer on WoA hardware.
20
22
21
23
**Fix**
22
24
23
25
1. Delete the broken install folder: `%LOCALAPPDATA%\Programs\Mesh-client\`
24
26
2. Download the **arm64** installer from [GitHub Releases](https://github.com/Colorado-Mesh/mesh-client/releases): `Mesh-client Setup {version}-arm64.exe` (not the x64-only `Mesh-client Setup {version}.exe`).
25
27
3. Re-run the installer. Confirm `Mesh-client.exe` exists in the install folder and the app appears in **Installed apps**.
26
28
29
+
**Diagnostic checklist (if the exe is still missing)**
30
+
31
+
Capture this before opening a GitHub issue — it helps isolate NSIS extract vs copy vs policy blocks:
32
+
33
+
1.**NSIS install log** — run the installer from Command Prompt or PowerShell with logging:
After failure, open `mesh-install.log` and search for `Mesh-client.exe`, `CopyFiles`, or `error`.
38
+
2.**Event Viewer** — **Windows Logs → Application** during the install window; note any errors from `MsiInstaller`, `Application Error`, or antivirus agents.
39
+
3.**Controlled folder access** — **Windows Security → Virus & threat protection → Ransomware protection**; if enabled, try temporarily allowing the installer or install to a short path such as `C:\mc-test` (see step 5).
40
+
4.**Install path** — confirm `%LOCALAPPDATA%` is on a local NTFS volume, not OneDrive-redirected or sync-rooted.
41
+
5.**Custom install directory** — test a short path:
6.**Clean tree** — ensure no leftover `Mesh-client` folder or running `Mesh-client.exe` from a prior partial install before re-running the installer.
46
+
27
47
**Workaround before a fixed release**
28
48
29
49
Download a CI or release artifact's `win-arm64-unpacked` folder and run `Mesh-client.exe` directly (portable, no installer).
@@ -319,7 +339,6 @@ CI builds avoid both issues by using short paths and clean agents; local Windows
319
339
2.**Enable long paths in Git** (helps clones/checkouts): `git config --global core.longpaths true`, then re-clone or ensure no stuck long paths in the worktree.
320
340
3.**Enable Win32 long paths in Windows** (Windows 10 1607+): this option is **not** available as a normal toggle in **Settings**; enable it via **Local Group Policy** → _Computer Configuration → Administrative Templates → System → Filesystem → Enable Win32 long paths_, or set the registry DWORD **`LongPathsEnabled = 1`** under `HKLM\SYSTEM\CurrentControlSet\Control\FileSystem` (admin rights; reboot may be required). See [Microsoft: Maximum Path Length Limitation](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation).
321
341
4.**`pnpm run dist:win`** already runs a **hoisted**`pnpm install` to shorten `node_modules` depth before packaging; if **`pnpm install`** / **`pnpm run rebuild`** fails earlier with this error, try the short path and long-path OS settings first, or temporarily: `pnpm install --config.node-linker=hoisted` from a short root path.
322
-
5.**Packaged app (`dist:win`)**: the build embeds a Windows application manifest with **`longPathAware`** so the installed **Mesh-client.exe** can use long paths when the machine has long paths enabled (registry / policy). That helps **runtime** paths inside the app; it does **not** shorten **`node_modules`** during **`pnpm install`** on the build machine—CI and developers still benefit from short clone paths for native rebuilds.
323
342
324
343
### Database schema newer than this app (downgrade blocked)
0 commit comments