Windows 11 支持的操作系统 GUID 是啥?
Posted
技术标签:
【中文标题】Windows 11 支持的操作系统 GUID 是啥?【英文标题】:What's the supportedOS GUID for Windows 11?Windows 11 支持的操作系统 GUID 是什么? 【发布时间】:2021-09-15 07:12:38 【问题描述】:Windows Vista 到 10 有 documented values。Windows 11 的第一个 Insider 版本刚刚发布,文档尚未更新,但也许可以在系统的某个地方找到它。
【问题讨论】:
我要补充一点,一些正在测试 Windows 11 内部版本的开发人员希望能够从他们的应用程序更新版本检测在正式的 Windows 11 之前发布,这样我们就不会被“你的应用说我运行的是 Windows 10,但我使用的是 Windows 11!!”的抱怨淹没了。请记住,就像 Windows 一样,发布应用程序可能需要几个月的时间,在这种情况下,在发布日前后获取 GUID 并不能完全减少它。因此,微软故意误报Windows版本的愚蠢计划再次让开发人员陷入困境...... @Akeo 完全同意。目前,我使用GetVersionEx
并在dwMajorVersion == 10 && dwMinorVersion == 0 && dwBuildNumber >= 22000
时报告Windows 11。
【参考方案1】:
经过一番摆弄,当前的答案(至少对于构建 22000.51)似乎是还没有 GUID。我在 ntdll.dll
中的符号 SbSupportedOsList
下找到了 GUID 列表,该列表由名为 SbGetContextDetailsByVersion
的函数引用。该列表仅包含文档中提到的五个 GUID。
【讨论】:
【参考方案2】:微软说
... 以下 GUID 对应于指定的操作系统: 8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a -> Windows 10、Windows 11、Windows Server 2016、Windows Server 2019 和 Windows Server 2022 ...
Application Manifests: Elements: supportedOS
【讨论】:
值得注意的是,自问题发布以来,文档已更新。并且相应的Git commit 消息明确表示:“Windows 11 和 Windows Server 2022 没有支持的操作系统的新 GUID。因此,请将这些操作系统添加到相应的 GUID 的评论中。” 【参考方案3】:没有新的受支持操作系统清单,因为 Microsoft 决定保留 10.0 版本号。 Windows 10 支持的操作系统清单将继续公开当前的内部版本号; 21996 及更高版本可以假定为 Windows 11。
【讨论】:
“Windows 10 的supportedOS 清单将继续公开当前的内部版本号” – 我不明白你的意思。 我的意思是说,由于内部版本号行为,他们不需要添加新的supportedOS清单。 嗯,疯了,不是吗?认为 Windows 11 只是旧操作系统上的新皮肤几乎是可以原谅的。 你从哪里得到这些信息的?以上是关于Windows 11 支持的操作系统 GUID 是啥?的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 中编程 C 或 C++ 时如何操作 GUID?
2011年老古董MacbookPro(MD314 二代i7+SSD)升级macOS + windows11日记 - 双系统