Inno Setup Pascal/delphi脚本代码综合示例

本文提供了一个使用Inno Setup创建安装脚本的详细示例,包括设置应用程序信息、文件复制、任务定义、图标创建、注册表项、系统要求检查等关键步骤。同时展示了如何在安装过程中实现滑动动画效果、播放音乐和处理用户取消安装请求的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[Setup]
AppName=S.T.A.L.K.E.R.: Shadow of Chernobyl
AppVerName=S.T.A.L.K.E.R.: Shadow of Chernobyl (полная русская версия)
AppPublisher=Chuvakstepan Inc.
DefaultDirName={pf}/Chuvakstepan/S.T.A.L.K.E.R
DefaultGroupName=Chuvakstepan/S.T.A.L.K.E.R
Compression=zip
SolidCompression=false
OutputBaseFilename=setup
UninstallFilesDir={app}
WindowVisible=yes
WindowResizable=no
WindowShowCaption=no
BackColor=$000000
BackSolid=yes
VersionInfoVersion=1.0.0.1
VersionInfoCompany=Chuvakstepan Inc.
VersionInfoCopyright=GSC
DiskSpanning=yes
DiskSliceSize=723517440
UseSetupLdr=true
Outputdir=C:/Для кодировки/Test/
LicenseFile=compiler:License.rtf
WizardImageFile=compiler:st_wel.bmp
WizardSmallImageFile=compiler:st_head.bmp
 
 
[Files]
Source: compiler:BASS.dll; DestDir: " {tmp} "; Flags: dontcopy noencryption
Source: compiler:sound.mp3; DestDir: {tmp}; Flags: dontcopy noencryption nocompression
Source: compiler:Splash.bmp; DestDir: {tmp}; Flags: dontcopy noencryption
Source: compiler:isxbb.dll; DestDir: {tmp}; Flags: dontcopy  noencryption
Source: compiler:splash.bmp; DestDir: {tmp}; Flags: dontcopy  noencryption
Source: compiler:1.jpg; DestDir: {tmp}; Flags: dontcopy  noencryption
Source: compiler:2.jpg; DestDir: {tmp}; Flags: dontcopy  noencryption
Source: compiler:3.jpg; DestDir: {tmp}; Flags: dontcopy  noencryption
Source: compiler:4.jpg; DestDir: {tmp}; Flags: dontcopy  noencryption
Source: compiler:5.jpg; DestDir: {tmp}; Flags: dontcopy  noencryption
Source: compiler:6.jpg; DestDir: {tmp}; Flags: dontcopy  noencryption
Source: compiler:7.jpg; DestDir: {tmp}; Flags: dontcopy  noencryption
Source: compiler:8.jpg; DestDir: {tmp}; Flags: dontcopy  noencryption
Source: compiler:9.jpg; DestDir: {tmp}; Flags: dontcopy  noencryption
Source: compiler:License.rtf; DestDir: {tmp}; Flags: dontcopy noencryption
Source: compiler:st_fin.bmp; DestDir: {tmp}; Flags: dontcopy  noencryption
Source: compiler:Background.bmp; DestDir: {tmp}; Flags: dontcopy noencryption
Source: compiler:get_hw_caps.dll; Flags: dontcopy  noencryption
Source: compiler:website.url; DestDir: {app}; Tasks: url
Source: compiler:websitegameSTALKER.url; DestDir: {app}; Tasks: url
Source: C:/Игры/Test Drive Unlimited/Readme.htm; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Source: compiler:KillSave from 1C/killsave.exe; DestDir: {app}; Flags: ignoreversion
Source: compiler:KillSave from 1C/Kill.ini; DestDir: {app}; Flags: ignoreversion
 
 
 
 
 
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
Name: url; Description: Создать ссылки на интернет-сайты в меню пуск; GroupDescription: {cm:AdditionalIcons}
 
 
[Icons]
Name: {userdesktop}/S.T.A.L.K.E.R.; Filename: {app}/bin/XR_3DA.exe; Tasks: desktopicon;  Flags: createonlyiffileexists; WorkingDir: {app}/bin
Name: {group}/Начать игру; Filename: {app}/bin/XR_3DA.exe; Flags: createonlyiffileexists; WorkingDir: {app}/bin
Name: {group}/Руководство; Filename: {app}/manual.pdf; Flags: createonlyiffileexists
Name: {group}/Трейнер; Filename: {app}/trn.exe; Flags: createonlyiffileexists; WorkingDir: {app}
Name: {group}/Файл Readme; Filename: {app}/ReadMe.txt; Flags: createonlyiffileexists
Name: {group}/Интернет-сайты/Chuvakstepan Inc.; Filename: {app}/website.url; Flags: createonlyiffileexists; Tasks: url
Name: {group}/Интернет-сайты/Сайт игры; Filename: {app}/websitegameSTALKER.url; Flags: createonlyiffileexists; Tasks: url
Name: {group}/{cm:UninstallProgram,игры}; Filename: {uninstallexe}
 
 
[Registry]
Root: HKLM; SubKey: SOFTWARE/GSC Game World/STALKER-SHOC1; ValueType: string; ValueName: InstallPath; ValueData: {app} ; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE/GSC Game World/STALKER-SHOC1; ValueType: string; ValueName: InstallLang; ValueData: en; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE/GSC Game World/STALKER-SHOC1; ValueType: string; ValueName: InstallSource; ValueData: stk-for-pack-securom-keydisk-efis; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE/GSC Game World/STALKER-SHOC1; ValueType: string; ValueName: InstallVers; ValueData: 1.0001; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE/GSC Game World/STALKER-SHOC1; ValueType: string; ValueName: InstallCDKEY; ValueData: 2J3G-4KJ3-B4J2-4I1N; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE/GSC Game World/STALKER-SHOC1; ValueType: string; ValueName: InstallUserName; ValueData: Chuvakstepan; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE/GSC Game World/STALKER-SHOC1; ValueType: dword; ValueName: BonusPack1; ValueData: $00000000; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE/GSC Game World/STALKER-SHOC1; ValueType: dword; ValueName: BonusPack2; ValueData: $00000000; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE/GSC Game World/STALKER-SHOC1; ValueType: string; ValueName: UnInstConfirm; ValueData: Do you want to remove all saved games and profiles?; Flags: uninsdeletekey
 
Root: HKLM; SubKey: SOFTWARE/Chuvakstepan/STALKER-SHOC; ValueType: string; ValueName: SavePath; ValueData: {app}/bin; Flags: uninsdeletekey
 
[LangOptions]
TitleFontSize=1
DialogFontName=Tahoma
DialogFontSize=8
WelcomeFontName=Times New Roman
WelcomeFontSize=13
TitleFontName=Arial
CopyrightFontName=Arial
CopyrightFontSize=8
 
[Messages]
BeveledLabel=Chuvakstepan Inc. 2007
 
[CustomMessages]
UninstallProgram=Удаление %1
 
[UninstallRun]
Filename: "{app}/KillSave.exe"; Parameters: "Kill"; WorkingDir: "{app}";
 
 
[Code]
 
//Проверка системных требований
 
 const
  NeedSize = 20; //Прописать, сколько мегабайт необходимо
 
  DRIVE_UNKNOWN = 0;
  DRIVE_NO_ROOT_DIR = 1;
  DRIVE_REMOVEABLE = 2;
  DRIVE_FIXED = 3;
  DRIVE_REMOTE = 4;
  DRIVE_CDROM = 5;
  DRIVE_RAMDISK = 6;
  //Все эффекты анимации
  AW_FADE_IN = $00080000;
  AW_FADE_OUT = $00090000;
  AW_SLIDE_IN_LEFT = $00040001;
  AW_SLIDE_OUT_LEFT = $00050002;
  AW_SLIDE_IN_RIGHT = $00040002;
  AW_SLIDE_OUT_RIGHT = $00050001;
  AW_SLIDE_IN_TOP = $00040004;
  AW_SLIDE_OUT_TOP = $00050008;
  AW_SLIDE_IN_BOTTOM = $00040008;
  AW_SLIDE_OUT_BOTTOM = $00050004;
  AW_DIAG_SLIDE_IN_TOPLEFT = $00040005;
  AW_DIAG_SLIDE_OUT_TOPLEFT = $0005000A;
  AW_DIAG_SLIDE_IN_TOPRIGHT = $00040006;
  AW_DIAG_SLIDE_OUT_TOPRIGHT = $00050009;
  AW_DIAG_SLIDE_IN_BOTTOMLEFT = $00040009;
  AW_DIAG_SLIDE_OUT_BOTTOMLEFT = $00050006;
  AW_DIAG_SLIDE_IN_BOTTOMRIGHT = $0004000A;
  AW_DIAG_SLIDE_OUT_BOTTOMRIGHT = $00050005;
  AW_EXPLODE = $00040010;
  AW_IMPLODE = $00050010;
 
var
  ListBox: TListBox;
  
function AnimateWindow(hWnd: HWND; dwTime: DWORD; dwFlags: DWORD): Boolean;
  external 'AnimateWindow@user32 stdcall';
 
procedure ListBoxOnClick(Sender: TObject);
var
  NewLetter, OldString: String;
  i: Integer;
begin <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值