Inno Setup 脚本

给你个我用的例子:

Delphi/Pascal code

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

; 脚本用 Inno Setup 脚本向导生成。

; 查阅文档获取创建 INNO SETUP 脚本文件详细资料!

[Setup]

AppName=Common downloader

AppVerName=Common downloader

DefaultDirName={pf}\XXX\Common downloader

DefaultGroupName=XXX\Common downloader

DisableProgramGroupPage=yes

OutputDir= .\Setup

OutputBaseFilename=Common downloader setup V1.0.0

Compression=lzma

SolidCompression=yes

VersionInfoCompany=XXX

VersionInfoVersion=1.0.0

[Languages]

Name: "Chinese"; MessagesFile: "compiler:Languages\Chinese.isl"

Name: "English"; MessagesFile: "compiler:Languages\English.isl"

[Tasks]

Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: dontinheritcheck

[Files]

Source: "CMDL.exe"; DestName: "Common downloader.exe"; DestDir: "{app}"; Flags: ignoreversion

Source: "DL.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "DM.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "config.ini"; DestDir: "{app}"; Flags: ignoreversion

Source: "App\*"; DestDir: "{app}\\App"; Flags: ignoreversion recursesubdirs createallsubdirs

Source: "Boot\*"; DestDir: "{app}\\Boot"; Flags: ignoreversion recursesubdirs createallsubdirs

Source: "Resource_cn\*"; DestDir: "{app}\Resource"; Languages: Chinese; Flags: ignoreversion recursesubdirs createallsubdirs

Source: "Resource_en\*"; DestDir: "{app}\Resource"; Languages: English; Flags: ignoreversion recursesubdirs createallsubdirs

; 注意: 不要在任何共享系统文件中使用“Flags: ignoreversion”

[Icons]

Name: "{group}\Common downloader"; Filename: "{app}\Common downloader.exe"

Name: "{group}\{cm:UninstallProgram,Common downloader}"; Filename: "{uninstallexe}"

Name: "{userdesktop}\Common downloader"; Filename: "{app}\Common downloader.exe"; Tasks: desktopicon

[Run]

Filename: "{app}\Common downloader.exe"; Description: "{cm:LaunchProgram,Common downloader}"; Flags: nowait postinstall skipifsilent

[Registry]

Root: HKLM; Subkey: "Software\XXX"; Flags: createvalueifdoesntexist

Root: HKLM; Subkey: "Software\XXX\Common downloader"; Flags: uninsdeletekeyifempty

Root: HKLM; Subkey: "Software\XXX\Common downloader"; ValueType: string; ValueName: "Path"; ValueData: "{app}"

Root: HKLM; Subkey: "Software\XXX\Common downloader"; ValueType: string; ValueName: "Version"; ValueData: "V1.0.0"

Root: HKLM; Subkey: "Software\XXX\Common downloader"; ValueType: dword; ValueName: "VersionNum"; ValueData: "100"

Root: HKLM; Subkey: "Software\XXX\Common downloader"; ValueType: string; ValueName: "Release Date"; ValueData: "2008/09/29"

[Code]

function InitializeSetup(): Boolean;

var

   Version: string;

   strPath: string;

   ResultCode: Integer;

begin

   Result:= TRUE;

  //read the version

  if RegQueryStringValue(HKEY_LOCAL_MACHINE, ‘Software\XXX\Common downloader‘,

     ‘Version‘, Version) then

  begin

    // Successfully read the value

    Version := Format(‘Exist the version %s,whether uninstall it?‘,[Version]);

    if MsgBox(Version,mbConfirmation,MB_YESNO) = IDYES then

    begin

     //read the path

     if RegQueryStringValue(HKEY_LOCAL_MACHINE, ‘Software\XXX\Common downloader‘,

     ‘Path‘, strPath) then

        begin

         // Successfully read the value

         strPath:= strPath + ‘\unins000.exe‘;

         Exec(ExpandConstant(strPath), ‘‘‘‘, SW_SHOW,

              ewWaitUntilTerminated, ResultCode);

        end;

    end else

    Result:= FALSE;

  end;

end;

这个例子可以在安装之前卸载以前的版本,并提示你卸载之前的版本信息。

原文地址:https://www.cnblogs.com/lidabo/p/9809759.html

时间: 2024-10-13 04:06:40

Inno Setup 脚本的相关文章

以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用

原文:以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用 ; Script generated by the Inno Setup 脚本向导. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! ; 为1的时候表示定义成试用版本 #define VERSION_TYPE ReadIni('Setup.ini', 'SetupType', 'type', '0') #if VER

inno setup脚本,涵盖了自定义安装界面,调用dll等等应用

; Script generated by the Inno Setup 脚本向导. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! ; 为1的时候表示定义成试用版本 #define VERSION_TYPE ReadIni('Setup.ini', 'SetupType', 'type', '0') #if VERSION_TYPE == "2" #define LIVE_VERSION

inno setup 脚本常用修改 转

http://blog.sina.com.cn/s/blog_72c2eb350100y2sa.html 有人提及想更换安装界面的图片,其实方法很简单,只需要修改inno setup安装目录下的WizModernImage.bmp和WizModernSmallImage.bmp两张图片就可以了. 只需在代码页,添加如下代码,即可实现页面的优化. #define MyAppName "服务端"#define MyAppVersion "1.3.2"#define My

使用inno setup打包程序完整脚本(.net框架检测,重复安装检测)

; 脚本由 Inno Setup 脚本向导 生成!; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "小小鸟软件"#define MyAppVersion "2012.2.29"#define MyAppPublisher "小小鸟科技"#define MyAppURL "http://www.cnblogs.com/IT-SmallBird/"#define MyAp

Inno Setup自定义卸载文件名称的脚本

Inno Setup 支持在同一个目录中安装多个应用程序,所以根据安装的先后次序自动将卸载程序文件命名为 unins000.exe,unins001.exe,unins002.exe 等等.这是 INNO SETUP 自身的功能.请参阅 http://www.jrsoftware.org/iskb.php?uninstallername . 一旦安装过程结束后,你当然可以将卸载文件的名称改成任意其它的文件名,注意的是你除了要更改安装目录里面的 unins00X.exe 和 unins00X.da

安装器---Inno Setup

Inno Setup[1]  用Delphi写成,其官方网站同时也提供源程序免费下载.它虽不能与Installshield这类恐龙级的安装制作软件相比,但也当之无愧算是后起之秀.Inno Setup是一个免费的安装制作软件,小巧.简便.精美是其最大特点,支持pascal脚本,能快速制作出标准Windows2000风格的安装界面,足以完成一般安装任务. 用innoSetup做应用程序安装包的示例脚本(.iss文件),具体要看innoSetup附带的文档,好象是pascal语言写的脚本. 示例1(应

Inno Setup

Inno Setup 是一款免费的window是安装制作软件,在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件.安装程序用编译脚本(.iss)的方式创建,脚本为类似.ini文件格式的ASCII码文本文件,根据产品需求可通过脚本控制程序安装位置.创建快捷方式等功能属性.这里稍整理下一些常用属性功能:1.Inno setup脚本demo2.安装协议默认同意3.组件选择框 4.跳过特定的安装界面5.信息包含换行符号6.删除文件和删除文件夹7.自定义BeveledLabel文字8.安装

使用Inno Setup 打包.NET程序,并自动安装.Net Framework

使用Inno Setup 打包.NET程序,并自动安装.Net Framework http://www.cnblogs.com/xiaogangqq123/archive/2012/03/19/2405730.html Inno Setup是什么 Inno Setup 是一个windows系统下的安装包制作程序.它是免费的(而且允许免费用于商业用途).官网网站:http://www.jrsoftware.org/ 虽然说.NET 可以使用VS来打包安装包,但可定制化绝对不如Inno Setup

Inno Setup 教程

参考博客:制作部署安装包:Inno Setup 参考资料:Inno Setup详细教程 参考资料:Innosetup使用详细全面教程 个人使用的 风铃夜思雨 的汉化版,版本:5.5.5 ; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "xxxxxxxx" #define MyAppName1 "xxxxxx" #define MyAppName2 &quo