使用Inno Setup Pascal Script检查当前操作系统是否为Windows 8.1

时间:2016-04-01 16:14:19

标签: windows installer inno-setup pascalscript

我想确定当前的操作系统是否是Windows 8.1。

我知道这可以解析分析当前Windows版本的NT版本号( 6.3 ),但我不知道如何在Pascal脚本下执行此操作。

伪码:

// Occurs when the installer initializes.
function InitializeSetup(): Boolean;
begin
  if IsWindows81 then
    begin
      Result := IsKBInstalled('KB2919355');
      if not Result then
        MsgBox('Windows Update package "KB2919355" not found.', mbError, MB_OK);
      end;
    else
      begin
        Result := True
      end;
end;

1 个答案:

答案 0 :(得分:1)

Windows 8.1为Windows version 6.3。

最简单的方法是检查GetWindowsVersion function的返回值,即$MMNNBBBB M ajor,mi N uild)。

function IsWindows81OrLater: Boolean;
begin
  Result := (GetWindowsVersion >= $06030000);
end;

如果您只想检查Windows 8.1,请使用:

function IsWindows81: Boolean;
begin
  Result := (GetWindowsVersion >= $06030000) and (GetWindowsVersion <= $0603FFFF);
end;