Windows port, part 4b: compress as administrator (ogc-elevated), remove old LZNT1 compression, known issues (W4 part 2) #37
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "windows-w4b-main"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Windows port, phase W4, part 2 (plan §1.3, §3.1, §3.3): compressing one game as administrator, removing old NTFS (LZNT1) compression first, and a list of games with known problems. It is based on main and independent of #36.
Compressing as administrator (
ogc-elevated.exe,src/elevated/)ogc compress --elevated GAME.ogc-elevated.exewithShellExecuteExW("runas"), so Windows asks through UAC every time.requireAdministrator, written by the newbuild.rs) is linked into that program alone.ogc autostill skips such games.steam:,epic:,gog:,ubisoft:,ea:,heroic:,own:<index>) and checked options; nothing on it is a path.HKEY_USERS\<SID>), so over-the-shoulder elevation reads the right account. A caller in another session is refused..., profiles, Windows' folder (fromGetSystemWindowsDirectoryW, not the environment), drive tops, Program Files itself, Xbox, OneDrive, network drives.FILE_SHARE_DELETE.go).games.tsv.dist.shchecks the release build).Old NTFS compression (LZNT1), owner decision D9
ogc compress --remove-lznt1, and on the card "Alte NTFS-Komprimierung zuerst entfernen" (as administrator where needed).FSCTL_SET_COMPRESSIONsets it to none and the result is read back;--force, a file keeps LZNT1 where WOF would not store it smaller.Known issues (§3.3)
analyzeandcompresswarn about them and still compress when asked.autoand--include-newleave them alone, as they do DirectStorage games, and the card says why.known_issuefield.Tests
cargo test --all-featureswith Broadway andOGC_TEST_REQUIRE_BTRFS=1(1637 passed, 0 failed).check.sh,wine-test.sh(including a real pipe round trip, a held folder, the caller's SID andHKEY_USERS),check-gui.sh(manifest checks),build-gui.sh,gui-test.sh,gui-smoke.sh, the installer tests, anddist.shwith the app (it shipsogc-elevated.exe)...;Not verified yet (needs a real Windows PC)