2 releases

0.1.1+1.1.5-Beta2 Dec 23, 2024
0.1.0+1.1.2-Beta7 Sep 11, 2024

#368 in Windows APIs

Download history 9/week @ 2024-09-30 1/week @ 2024-10-14 2/week @ 2024-11-18 32/week @ 2024-12-02 53/week @ 2024-12-09 12/week @ 2024-12-16 166/week @ 2024-12-23 23/week @ 2024-12-30 31/week @ 2025-01-06 7/week @ 2025-01-13

228 downloads per month
Used in 2 crates (via oldwin-yy-thunks)

Custom license

1MB

OldWin


OldWin

OldWin OldWin makes compatibility with Old Windows easier! The crate relies heavily on YY-Thunks and VC-LTL5 to solve the problem of missing APIs on older systems and API-SETs in the import table.

Features

  • Effortless Integration: Integrate YY-Thunks and VC-LTL5 just add entry to your build-dependencies and modify build.rs.
  • Backward Compatibility: Effortlessly support Windows XP and later versions.
  • Binary Size Optimization: Implement strategies to reduce the footprint of your application binaries.

Usage

1. Add Dependency

Include OldWin in your Cargo.toml file:

vc-ltl5 is dependent on yy-thunks, so if you use vc-ltl5 yy-thunks will be automatically added.

[dependencies]
# use yy-thunks and vc-ltl5 on Windows 7
oldwin = { version = "0.1.0", features = ["win7", "vc-ltl5"] }

2. Switch to {i686, x86_64}-win7-windows-msvc toolchain

Modify your project cargo configuration to use the {x86, x86_64}-win7-windows-msvc toolchain.

rustup component add rust-src
rustup target add i686-win7-windows-msvc
rustup target add x86_64-win7-windows-msvc
[unstable]
build-std = ["core", "alloc", "std", "proc_macro", "test"]

3. Build Your Project

Build your project using the {i686, x86_64}-win7-windows-msvc toolchain.

Remember to use nightly toolchain.

cargo build --target i686-win7-windows-msvc -Zbuild-std
cargo build --target x86_64-win7-windows-msvc -Zbuild-std

Contributing

Contributions of all kinds are welcome, including:

  • Issue reporting
  • Pull Request submissions
  • Documentation improvements

License

OldWin is released under the MIT License.

Very Very Thanks

No runtime deps