1 [Setup]
2 AppName=MyProgram
3 AppVersion=1.0
4 DefaultDirName={code:GetDefaultInstallRoot}\MyProgram
5
6 [code]
7 function GetDefaultInstallRoot(Param: String): String;
8 begin
9 if ((GetWindowsVersion shr 16) >= $0600) then
10 Result := ExpandConstant('{userappdata}')
11 else
12 Result := ExpandConstant('{pf}');
13 end;
以上是对于 NT6 也就是 Vista 开始的系统。你可以根据要求改一下,比如 > $0601 就是 Windows 8。
inno setup [setup]段参数说明
[Setup]: DefaultDirName
说明:
这是个必需的关键字,该值是默认的目录名称,用于“选择目录页”向导。通常它有一个目录常量前缀。
如果 UsePreviousAppDir 是 yes (默认值)并且安装程序发现已经安装了一个相同应用程序的早期版本,它将用先前选择的目录代替默认的目录名称。
示例:
如果你使用:
DefaultDirName={sd}\MYPROG
在 Setup 中,典型地应有如下显示:
C:\MYPROG
如果你使用:
DefaultDirName={pf}\My Program
在 Setup 中,典型地应有如下显示:
C:\Program Files\My Program
[Setup]: DisableDirPage
有效值: yes 或 no
默认值: no
说明:
如果该项设置为 yes, 安装程序将不会显示“选择目标文件夹”向导页。在这种情况下,它将始终使用默认的目录名。
[Setup]: DisableFinishedPage
有效值: yes 或 no
默认值: no
说明:
如果该项设置为 yes, 安装程序将不会显示“安装完成”向导页,并且在一次安装过程结束后会立即关闭安装程序。如果在 [Run] 段里面有一个要被执行的程序使用了 nowait 标记,并且你不希望在该程序被启动之候安装完成窗口还逗留在后台,此时该项是有用的。
注意安装程序认为要重新启动计算机,或如果指派了一个文件给 [Setup] 段的 InfoAfterFile 关键字,都将忽略 DisableFinishedPage 关键字。象这些情况,仍然会显示“安装完成”向导页。
[Setup]: DisableProgramGroupPage
有效值: yes 或 no
默认值: no
说明:
如果该项设置为 yes, 安装程序将不会显示“选择程序组”向导页。在这种情况下,它将使用由 [Setup] 段的 DefaultGroupName 关键字指定的组名,或者“(Default)”如果没有指定组名的话。