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平台上流畅运行,无需过多的技术门槛。


