Skip to content

Fix the Windows desktop app build and installer - #37

Merged
fcjr merged 3 commits into
mainfrom
windows-app-build
Oct 28, 2026
Merged

fcjr merged 3 commits into
mainfrom
windows-app-build

Conversation

@fcjr

@fcjr fcjr commented Oct 28, 2026 •

Copy link
Copy Markdown
Owner

The Windows desktop build has failed since ~v0.5.8 (libplist-2.0.a built without libcnary, then undefined reference to node_* downstream), and when it did build, the installer was missing WebView2Loader.dll (#21).

  • tauri wrapper: reuse the MSYS2 already on PATH instead of also prepending C:\msys64. Mixing the runner's MSYS2 with the one release-app installs is what made tools re-parse their command lines Windows-style.
  • build.rs: on Windows, libtool's convenience-library extraction lists every file with -type f instead of -name \*.o globs, so there's nothing left to expand.
  • release-app / justfile: pass --target x86_64-pc-windows-gnu so the bundler adds WebView2Loader.dll, and fail the job if the installer doesn't contain it.

release-app only runs on tags, so the real test is the next release.

fcjr added 3 commits October 27, 2026 22:23
The wrapper always prepended C:\msys64, but GitHub's Windows runners
ship an MSYS2 there while release-app installs its own elsewhere. The
release build ended up mixing the two installs, so tools handed across
re-parsed their command lines Windows-style (globs expanded, backslashes
dropped). libtool's find then dropped libcnary from libplist-2.0.a and
the Windows app build has failed since at least v0.5.9.

Complete the MSYS2 install already on PATH instead, and only fall back
to MSYS2_ROOT or C:\msys64 when there isn't one.
Quoting the find patterns didn't stop *.o being expanded before find
saw it (v0.5.11 and v0.5.12 failed the same way), so libplist-2.0.a
kept shipping without libcnary. The extraction dir only holds what
ar x just unpacked, so swap the patterns for -type f and leave nothing
to glob. Left alone elsewhere since BSD ar also extracts __.SYMDEF.
…2Loader.dll

Without it, tauri CLI 2.11.4 hands the bundler its own -msvc triple, so
the NSIS step that adds WebView2Loader.dll for -gnu builds is skipped
and the installed app can't start (#21). Also check the installer for
the DLL in the release job, and use the same flag in just app-build.
@fcjr
fcjr merged commit 20c1b38 into main Oct 28, 2026
13 of 14 checks passed
@fcjr
fcjr deleted the windows-app-build branch October 28, 2026 03:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant