Zbk7655 @ 05-09 16:29:16   手游动态   0/36

inno setup?Setup软件简介

inno setup 怎样判断是xp系统和win7系统呢

[Setup]: MinVersion

格式:

a.bb,c.dd,这里 a.bb是 Windows版本,c.dd是 Windows NT版本。

默认值:

4.0,4.0

描述:

这个指令让你指定你的软件运行必须的 Windows或 Windows NT版本最小版本,要防止你的程序在 Windows或 Windows NT下运行,请在最小版本中的一个指定“0”。构建号和/或安全服务包级别可以包含在版本号中。

如果用户系统不适合最小版本需求,安装程序将出现一个错误消息并退出。

或者在 Code段自己判断

GetWindowsVersionEx

语法:

procedure GetWindowsVersionEx(var Version: TWindowsVersion);

描述:

返回记录中有关 Windows版本的扩展信息。

TWindowsVersion定义为:

TWindowsVersion= record

Major: Cardinal;//主版本号

Minor: Cardinal;//副版本号

Build: Cardinal;//构建号

ServicePackMajor: Cardinal;//服务包主版本号

ServicePackMinor: Cardinal;//服务包副版本号

NTPlatform: Boolean;//如果是基于 NT平台则为 True

ProductType: Byte;//产品类型(看下面)

SuiteMask: Word;//安装的产品组件(看下面)

end;

ProductType对象可以是下列值中的一个:

VER_NT_WORKSTATION

VER_NT_DOMAIN_CONTROLLER

VER_NT_SERVER

如果用户运行于 Windows 95/98/Me,或产品类型不能确定(不一定可用),它也可以是零。VER_NT_WORKSTATION表示非服务器版本的 Windows(例如工作站、专业版或家庭版)。

SuiteMask对象可以是下列值的组合:

VER_SUITE_BACKOFFICE

VER_SUITE_BLADE

VER_SUITE_DATACENTER

VER_SUITE_ENTERPRISE

VER_SUITE_EMBEDDEDNT

VER_SUITE_PERSONAL

VER_SUITE_SINGLEUSERTS

VER_SUITE_SMALLBUSINESS

VER_SUITE_SMALLBUSINESS_RESTRICTED

VER_SUITE_TERMINAL

VER_SUITE_PERSONAL设置在比如家庭版的 Windows XP,VER_SUITE_BLADE设置在网络版的 Windows Server 2003。在 Windows 95/98/Me和 NT 4.0,SuiteMask总是为零。

示例:

下面的例子告诉你可以怎样在某些版本的 Windows中不接受安装,并在多个操作系统版梧检查服务包等级。(这些内容都不可能用 [Setup]段 MinVersion指令。)

function InitializeSetup: Boolean;

var

Version: TWindowsVersion;

S: String;

begin

GetWindowsVersionEx(Version);

//不接受在家庭版的 Windows中安装

if Version.SuiteMask and VER_SUITE_PERSONAL<> 0 then

begin

SuppressibleMsgBox('这个程序不能安装于家庭版的 Windows。',

mbCriticalError, MB_OK, MB_OK);

Result:= False;

Exit;

end;

//不接受在域控制器中安装

if Version.ProductType= VER_NT_DOMAIN_CONTROLLER then

begin

SuppressibleMsgBox('这个程序不能安装于域控制器。',

mbCriticalError, MB_OK, MB_OK);

Result:= False;

Exit;

end;

//在 Windows 2000,检查 SP4

if Version.NTPlatform and

(Version.Major= 5) and

(Version.Minor= 0) and

(Version.ServicePackMajor< 4) then

begin

SuppressibleMsgBox('在 Windows 2000运行时,必须安装 Service Pack 4。',

mbCriticalError, MB_OK, MB_OK);

Result:= False;

Exit;

end;

//在 Windows XP中,检查 SP2

if Version.NTPlatform and

(Version.Major= 5) and

(Version.Minor= 1) and

(Version.ServicePackMajor< 2) then

begin

SuppressibleMsgBox('在 Windows XP运行时,必须安装 Service Pack 2。',

mbCriticalError, MB_OK, MB_OK);

Result:= False;

Exit;

end;

Result:= True;

end;

Inno***Setup软件简介

Inno Setup是一款备受赞誉的免费安装制作软件,以其轻巧、简洁且设计精美的特性而备受青睐。它特别支持Pascal脚本,能够快速生成具有Windows2000风格的直观安装界面,对于日常的安装任务来说,功能已足够强大。这款软件由Delphi开发,其源代码在官方网站上免费提供下载,让开发者可以深入了解其工作原理。

尽管Inno Setup在功能上可能无法与像Installshield这样的大型安装制作软件相媲美,但作为新兴的佼佼者,它以其高效性和易用性在市场上占据了一席之地。特别是对于那些寻求简单解决方案的用户来说,它无疑是一个优秀的选择。

目前,Inno Setup的版本已经更新到了V5.5.2,提供了5.65 MB的软件大小,用户界面支持简体中文,非常适合国内用户使用。它兼容多种操作系统,包括Win2003、WinXP、Win2000和Win9X,这意味着它几乎能在大多数Windows平台上流畅运行,无需过多的技术门槛。

返回顶部