Skip to content

fix: statically link Windows native CRT#418

Draft
RtlZeroMemory wants to merge 1 commit into
mainfrom
fix/windows-native-static-crt
Draft

fix: statically link Windows native CRT#418
RtlZeroMemory wants to merge 1 commit into
mainfrom
fix/windows-native-static-crt

Conversation

@RtlZeroMemory

Copy link
Copy Markdown
Owner

Summary

Fixes the Windows native addon packaging issue reported in discussion #413, where a clean Windows Sandbox install could not load @rezi-ui/native until VC Redist x64 was installed separately.

The root cause is that Windows native prebuilds were produced with the dynamic MSVC C runtime. This change makes the Windows build paths use Rust +crt-static and makes the vendored C build follow the same CRT mode, so the published .node binaries do not require users to install the Visual C++ Redistributable separately.

Changes

  • Add static MSVC CRT flags for local Windows native builds.
  • Add the same flag to manual prebuild and release prebuild workflows.
  • Keep the C-side cc build aligned with Rust crt-static target features.
  • Add a workflow/config regression test for Windows CRT linking.
  • Document the Windows prebuild behavior in native install docs and changelog.

Validation

  • npm run lint
  • npm run typecheck
  • npm run test:scripts
  • npm run build:native
  • npm run test:native:smoke (deep engine checks skipped on this Linux host because no TTY)
  • node scripts/verify-native-pack.mjs --host-only

The final proof for the Windows binary dependency will be the Windows prebuild/release job output from this PR, because this Linux host cannot inspect the resulting Windows DLL imports directly.

@coderabbitai

coderabbitai Bot commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 0ab62535-3b62-482a-bcc4-396a14c42501

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/windows-native-static-crt

Warning

Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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