检查Windows Server 2003 [英] Checking for Windows Server 2003

查看:68
本文介绍了检查Windows Server 2003的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了这些函数,用于在Windows Server 2003上安装一些文件,我想知道这是否正确.

I created theses functions for installing some files on windows server 2003, I want to know if this is the correct way.

function IsServer: Boolean;
var
  ver: TWindowsVersion;
begin
  GetWindowsVersionEx(ver);
  Result := UsingWinNT and (ver.Major = 5) and (ver.Minor >= 2) and Not IsWin64;
end;

function IsServer64: Boolean;
var
  ver: TWindowsVersion;
begin
  GetWindowsVersionEx(ver);
  Result := UsingWinNT and (ver.Major = 5) and (ver.Minor >= 2) and IsWin64;
end;

推荐答案

您没有向我们展示UsingWinNT的作用-尽管您绝对不需要检查"NT"-Inno Setup制作的安装程序不会甚至可以在非NT系统上启动.

You didn't show us what UsingWinNT does - Though you definitely do not need to check for "NT" - Inno Setup-made installer won't even start on non-NT system.

IsServer64即使在 Windows XP Professional x64 Edition上也将返回true.具有5.2版本.

要区分这些,请测试ver.ProductType = VER_NT_SERVER.
请参阅如何以编程方式分辨XP 64位和Server 2003 64位之间的区别

To distinguish these, test ver.ProductType = VER_NT_SERVER.
See How to programmatically tell the difference between XP 64 bit and Server 2003 64 Bit

function IsWindowsServer2003_32Bit: Boolean;
var
  Ver: TWindowsVersion;
begin
  GetWindowsVersionEx(Ver);
  Result :=
    (Ver.ProductType = VER_NT_SERVER) and
    (Ver.Major = 5) and (Ver.Minor = 2) and (not IsWin64);
end;

function IsWindowsServer2003_64Bit: Boolean;
var
  Ver: TWindowsVersion;
begin
  GetWindowsVersionEx(Ver);
  Result :=
    (Ver.ProductType = VER_NT_SERVER) and
    (Ver.Major = 5) and (Ver.Minor = 2) and IsWin64;
end;


另请参见在Inno Setup中确定Windows版本.

这篇关于检查Windows Server 2003的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆