Skip to content

Add 32-bit (x86) Windows build support#2119

Open
cfsmp3 wants to merge 4 commits intomasterfrom
fix/win32-support
Open

Add 32-bit (x86) Windows build support#2119
cfsmp3 wants to merge 4 commits intomasterfrom
fix/win32-support

Conversation

@cfsmp3
Copy link
Contributor

@cfsmp3 cfsmp3 commented Feb 18, 2026

Summary

  • Re-introduces Win32 (x86) platform configurations that were removed in May 2023
  • Adds x86 matrix builds to CI and release workflows
  • Enables CCExtractor to build and install on 32-bit Windows 10 systems

Changes

  • windows/ccextractor.sln — Add Debug-Full|Win32 and Release-Full|Win32 configurations
  • windows/ccextractor.vcxproj — Add Win32 platform with conditional vcpkg triplet (x86-windows-static), x86 library paths, and i686 Rust target
  • windows/rust.bat — Support target selection via RUST_TARGET env var (defaults to x86_64-pc-windows-msvc)
  • windows/installer.wxs — Use ProgramFilesFolder instead of ProgramFiles64Folder for x86 builds
  • .github/workflows/build_windows.yml — Convert to matrix strategy building both x64 and x86
  • .github/workflows/release.yml — Produce both x64 and x86 MSI installers and portable ZIPs

Known risks

  • GPAC may not have a 32-bit Chocolatey package (--forcex86); if that fails we'll need to build GPAC from source or download x86 binaries separately
  • The Rust code already has i686 support (conditional std::arch::x86 imports added in commit 7041441)

Test plan

  • CI x64 build passes (regression check)
  • CI x86 build passes (new)
  • x86 binary runs on 32-bit Windows 10

Closes #2116

🤖 Generated with Claude Code

Re-introduce Win32 platform configurations to support 32-bit Windows,
which was dropped in 2023. This enables CCExtractor to run on 32-bit
Windows 10 systems.

Changes:
- Add Win32 (x86) platform to VS solution and project configs
- Make vcpkg triplet conditional (x86-windows-static for Win32)
- Update rust.bat to support i686-pc-windows-msvc via RUST_TARGET env var
- Add preprocessor conditional in installer.wxs for ProgramFilesFolder
- Convert CI build workflow to matrix strategy (x64 + x86)
- Update release workflow to produce both x64 and x86 installers

Closes #2116

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@TPeterson94070
Copy link

TPeterson94070 commented Feb 18, 2026

Looks as though there are just a couple of missing .h files...right?

Oh...tip of the iceberg.

cfsmp3 and others added 3 commits February 18, 2026 14:25
On 64-bit Windows, choco install gpac --forcex86 installs to
C:\Program Files (x86)\GPAC, not C:\Program Files\GPAC.

- Add configurable GpacDir MSBuild property (defaults to C:\Program Files\GPAC)
- Replace all hardcoded GPAC paths with $(GpacDir)
- Pass correct GpacDir from CI matrix for x86 builds

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
MSBuild places Win32 output in windows/Release-Full/ (no platform
prefix), while x64 goes to windows/x64/Release-Full/. Use matrix
outdir variable to reference the correct output location.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
upload-artifact rejects '.' in paths. Use "x64/" and "" instead so
paths resolve to ./windows/x64/Release-Full and ./windows/Release-Full.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

ccextractor 0.96.5 (and 0.96.4 and 0.96.3) fail to install on 32-bit Windows 10

2 participants

Comments