Windows README and FAQ, Code signing policy, and version info in the Windows programs (W5 part 1) #40

Manually merged
SkyfaR merged 5 commits from windows-w5-docs into main 2026-10-06 18:17:57 +02:00
Owner

W5, part 1: the README for Windows users, and what SignPath Foundation needs before the owner applies for free code signing.

README

  • Windows section: requirements (Windows 10 22H2 or 11, x64, local NTFS; only Windows 11 has been tried on a real PC), installing (the per-user installer or the portable zip, checking the .sha256, SmartScreen until signing), first steps (the four methods, Balanced/XPRESS8K the default; where settings and records live), the command line in PowerShell, the background task, compressing as administrator (marked not yet tried on a real PC), and uninstalling.
  • FAQ "On Windows": load times, anti-cheat, Steam verify, restore points and free space, DirectStorage and the known-problem games, dual boot (marked as from the drivers' documented behaviour), CompactGUI games, LZNT1, uninstalling, SmartScreen.
  • Places that still said Linux only: the tagline, the badge, the intro and the feature table now say Linux and Windows.
  • Code signing policy: a section with exactly the heading, attribution, roles (SkyfaR) and privacy sentence that SignPath Foundation's conditions ask for. It says plainly that the builds are not signed yet. The privacy sentence was checked against the code: ogc and the app make no network connections, and the community database will be opt-in.

Binaries

  • Version info for signing: SignPath requires each signed file to carry the product name and version. build.rs now gives ogc.exe, ogc-gui.exe, ogc-background.exe and ogc-elevated.exe a VS_VERSIONINFO: OpenGameCompressor, the Cargo version, and the four numbers the installer uses. The resource is written in Rust, so no resource compiler is needed; ogc-elevated.exe keeps its manifest. The byte layout is tested through tests/build_script.rs.
  • Check: scripts/windows/version-info.py reads it back. check.sh and dist.sh fail when a program or setup.exe lacks it or names another product or version.
  • Release text: the CI release body now says what the program does and links the Code signing policy.

Tests

  • fmt and both clippy runs pass.
  • cargo test passes, including build_script and the GUI suite on Broadway; the about page's README links resolve.
  • In the container: check.sh, build-gui.sh, check-gui.sh (bundle tests 14) and dist.sh with the app all pass. All five files report ProductName "OpenGameCompressor", version 0.1.0 / 0.1.0.0.
  • The README text had a review with adversarial verification; every finding is fixed.
W5, part 1: the README for Windows users, and what SignPath Foundation needs before the owner applies for free code signing. ## README - **Windows section:** requirements (Windows 10 22H2 or 11, x64, local NTFS; only Windows 11 has been tried on a real PC), installing (the per-user installer or the portable zip, checking the `.sha256`, SmartScreen until signing), first steps (the four methods, Balanced/XPRESS8K the default; where settings and records live), the command line in PowerShell, the background task, compressing as administrator (marked not yet tried on a real PC), and uninstalling. - **FAQ "On Windows":** load times, anti-cheat, Steam verify, restore points and free space, DirectStorage and the known-problem games, dual boot (marked as from the drivers' documented behaviour), CompactGUI games, LZNT1, uninstalling, SmartScreen. - **Places that still said Linux only:** the tagline, the badge, the intro and the feature table now say Linux and Windows. - **Code signing policy:** a section with exactly the heading, attribution, roles (SkyfaR) and privacy sentence that SignPath Foundation's conditions ask for. It says plainly that the builds are not signed yet. The privacy sentence was checked against the code: ogc and the app make no network connections, and the community database will be opt-in. ## Binaries - **Version info for signing:** SignPath requires each signed file to carry the product name and version. `build.rs` now gives `ogc.exe`, `ogc-gui.exe`, `ogc-background.exe` and `ogc-elevated.exe` a VS_VERSIONINFO: OpenGameCompressor, the Cargo version, and the four numbers the installer uses. The resource is written in Rust, so no resource compiler is needed; `ogc-elevated.exe` keeps its manifest. The byte layout is tested through `tests/build_script.rs`. - **Check:** `scripts/windows/version-info.py` reads it back. `check.sh` and `dist.sh` fail when a program or `setup.exe` lacks it or names another product or version. - **Release text:** the CI release body now says what the program does and links the Code signing policy. ## Tests - fmt and both clippy runs pass. - `cargo test` passes, including `build_script` and the GUI suite on Broadway; the about page's README links resolve. - In the container: `check.sh`, `build-gui.sh`, `check-gui.sh` (bundle tests 14) and `dist.sh` with the app all pass. All five files report ProductName "OpenGameCompressor", version 0.1.0 / 0.1.0.0. - The README text had a review with adversarial verification; every finding is fixed.
Add a Windows section to the project page: requirements, the installer
and the portable zip (with the SmartScreen note while the builds are
unsigned), first steps in the app, the command line, the background
task and what it leaves alone, compressing as administrator, and
uninstalling. The Windows paragraphs of the command-line section move
there; the one saying the timer is Linux-only is corrected.

Add Windows answers to the FAQ: loading, anti-cheat, Steam's verify,
restore points and free space, DirectStorage and known-issue games,
dual boot, CompactGUI-compressed games, LZNT1, uninstall, SmartScreen.

Add the "Code signing policy" section SignPath Foundation asks for,
marked as applied for until approved, with the signed binaries, where
releases come from, the team roles and the privacy statement.

Tagline, badge, intro, feature table and requirements now name Windows
where it is supported.
Compressing as administrator and the NTFS drivers' handling of WOF files are
from documentation, not tried yet. The Stays-compressed row says what a game
does to a run on Windows, the CI bullet names the Windows downloads, and the
portable zip's row names its top folder.
Code signing requires every signed file to name the product and its version.
build.rs now writes a VS_VERSIONINFO resource into each of ogc.exe,
ogc-gui.exe, ogc-background.exe and ogc-elevated.exe (ProductName,
ProductVersion and FileVersion from Cargo, the four numbers installer.sh
makes, a description per program), beside ogc-elevated's manifest. Its tests
run through tests/build_script.rs. Nothing changes on Linux.
Check the Windows programs' and the installer's version information
All checks were successful
CI / Windows, desktop app (tests under Wine) (pull_request) Successful in 3m31s
CI / Bundle programs, command line and helper (pull_request) Successful in 2m23s
CI / Arch package (pull_request) Successful in 3m13s
CI / Windows, installer and portable zip (pull_request) Successful in 6m35s
CI / Bundle for any distribution (pull_request) Successful in 39s
CI / Bundle programs, desktop app (pull_request) Successful in 3m14s
CI / Release (pull_request) Has been skipped
CI / Windows, MSYS2 sysroot (pull_request) Successful in 19s
CI / Windows, command line (clippy with tests) (pull_request) Successful in 41s
CI / Windows, command line (tests under Wine) (pull_request) Successful in 2m0s
CI / Windows, desktop app (clippy, script tests) (pull_request) Successful in 1m53s
CI / Windows, GTK with AccessKit (pull_request) Successful in 1m11s
CI / Windows, installer (tests under Wine) (pull_request) Successful in 3m9s
CI / Format, lint and test (pull_request) Successful in 5m53s
b1d4d2db09
version-info.py reads VS_VERSIONINFO back and fails on a file without it or
with another product name or version. check.sh runs it on its three programs,
dist.sh on all four and the installer; bundle.tests.py tests it.
SkyfaR manually merged commit e25be1d7a6 into main 2026-10-06 18:17:57 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
LevelXStudios/OpenGameCompressor!40
No description provided.