New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Call RtlGetVersion out of ntdll.dll to get OS version #4061
Comments
Because we have to keep manifesting bundles just to support newer versions of Windows. It's a mundane task that can be avoided with RtlGetVersion. Besides, while it may be uncommon to require detecting for newer versions of an OS that haven't even shipped yet, some people may want to block on them because they haven't been tested. If Burn isn't manifested accordingly early enough, GetVersion(Ex) lies and the product that should block now gets installed on the newer OS that hasn't yet been tested. |
Why is this better than explicit manifesting or the IsWindows*OrGreater helpers? |
We have to continue to manifest the Burn stub so this change would be to get correct VersionNT[64] values for OSes before they're publicly released and the new compatibility guids are documented and added to the stub. So I'm fine with this change in v3.x if implementing it were to scratch someone's itch.
|
|
Blair, any progress?
|
I believe I have this correctly scoped and I'll have a fix ready this weekend.
|
Committed by barnson 9 hours ago. Commit d239a866a40b.
|
GetVersion(Ex) requires that the EXE be manifested to declare explicit support for the OS on which it's installing. This may not be what people want. Instead, you can GetProcAddress() "RtlGetVersion" from ntdll.dll and get the OS version without requiring the EXE to be manifested.
The text was updated successfully, but these errors were encountered: