gpt4 book ai didi

windows - GetWindowsVersionEx 函数在 Windows 2012 R2 中输出错误

转载 作者:可可西里 更新时间:2023-11-01 14:45:04 26 4
gpt4 key购买 nike

我们正在使用“GetWindowsVersionEx”函数来提取 Windows 中的构建版本值。它在所有操作系统中都运行良好,但在最近发布的 Windows 2012-R2 中它给出了错误的输出。实际构建版本为 6.3,但仅显示为 6.2。所以,当我做了一些研究后,我发现下面的链接可以解决这个问题。但是,我不明白如何在 inno 设置代码中实现它。

感谢帮助。

链接: http://msdn.microsoft.com/en-us/library/windows/desktop/dn302074%28v=vs.85%29.aspx

[Setup]
AppName=My Program
AppVersion=1.5
DisableProgramGroupPage=yes
DefaultGroupName=My Program

OutputDir=c:\output
DefaultDirName={sd}\MYPROG
UninstallDisplayIcon={app}\MyProg.exe


[code]
var
Version: TWindowsVersion;
function InitializeSetup(): Boolean;
begin
GetWindowsVersionEx(Version);
SuppressibleMsgBox('Major='+ IntToStr(Version.Major)+ ' Minor='+IntToStr(Version.Minor),mbCriticalError, MB_OK, MB_OK);

end;

最佳答案

这是 by design in Windows 8.1 and Server 2012-R2 .它将通过应用程序 list 返回应用程序表示它支持的最新版本的 Windows。

Inno setup 5.5.3 及以下版本仅标记为与 Windows 8 兼容。截至Inno Setup 5.5.4 ,已更新为支持 Windows 8.1:

Added the Windows 8.1 "compatibility" section to the various manifest resources used by Inno Setup. This enables any check for the operating system version to get the real version number (6.3) instead of getting the same version number as it did in Windows 8 (6.2).

tl;dr:升级到最新版本的 Inno Setup。

关于windows - GetWindowsVersionEx 函数在 Windows 2012 R2 中输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19947513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com