commit | fb81701db80f1745f51259b1f286de3fe2ec80c8 | [log] [tgz] |
---|---|---|
author | Jason A. Donenfeld <Jason@zx2c4.com> | Tue Jul 30 23:46:11 2019 +0200 |
committer | Jason A. Donenfeld <Jason@zx2c4.com> | Sun Aug 25 16:06:03 2019 +0000 |
tree | da5fc03df8fe8fe42f931436eb10468b5acf786f | |
parent | fde4db37ae7ad8191b03d30d27f258b5291ae4e3 [diff] |
windows: allow retrieving true version with RtlGetNtVersionNumbers While RtlGetVersion was added so that users can get the Windows version that isn't affected by manifesting, RtlGetVersion is still stubbed out by the application compatibility layer (aclayers.dll and apphelp.dll) for certain processes, such as msiexec.exe, rendering these functions useless for actually determining the underlying operating system. This matters in the case of msiexec.exe using a custom action DLL to install a kernel driver, which of course is version specific. This is also useful, it turns out, for the C runtime library, in which Microsoft uses this function too. It's existed as a stable interface since Windows XP, has Wine support, and is used in a decent amount of software. Change-Id: If391e43bc6d798eff6803d5a7aa6a179f2b31d88 Reviewed-on: https://go-review.googlesource.com/c/sys/+/188119 Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
This repository holds supplemental Go packages for low-level interactions with the operating system.
The easiest way to install is to run go get -u golang.org/x/sys
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/sys
.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the sys repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/sys:” in the subject line, so it is easy to find.