Inno Setup 脚本
给你个我用的例子:
|
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 downloaderAppVerName=Common downloaderDefaultDirName={pf}\XXX\Common downloaderDefaultGroupName=XXX\Common downloaderDisableProgramGroupPage=yesOutputDir= .\SetupOutputBaseFilename=Common downloader setup V1.0.0Compression=lzmaSolidCompression=yesVersionInfoCompany=XXXVersionInfoVersion=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: ignoreversionSource: "DL.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "DM.dll"; DestDir: "{app}"; Flags: ignoreversionSource: "config.ini"; DestDir: "{app}"; Flags: ignoreversionSource: "App\*"; DestDir: "{app}\\App"; Flags: ignoreversion recursesubdirs createallsubdirsSource: "Boot\*"; DestDir: "{app}\\Boot"; Flags: ignoreversion recursesubdirs createallsubdirsSource: "Resource_cn\*"; DestDir: "{app}\Resource"; Languages: Chinese; Flags: ignoreversion recursesubdirs createallsubdirsSource: "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: createvalueifdoesntexistRoot: HKLM; Subkey: "Software\XXX\Common downloader"; Flags: uninsdeletekeyifemptyRoot: 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; |
这个例子可以在安装之前卸载以前的版本,并提示你卸载之前的版本信息。
Inno Setup 脚本的更多相关文章
- 以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用 (转)
以前编写的inno setup脚本,涵盖了自定义安装界面,调用dll等等应用 (转) ; Script generated by the Inno Setup 脚本向导. ; SEE THE DOCU ...
- Inno Setup脚本语法大全
Inno Setup脚本语法大全 ResourceShare Bruce 11个月前 (10-28) 6136浏览 0评论 Inno Setup 是什么?Inno Setup 是一个免费的 Win ...
- inno setup脚本,涵盖了自定义安装界面,调用dll等等应用
; Script generated by the Inno Setup 脚本向导. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETU ...
- Inno Setup脚本
某天夜晚一场狂风暴雨,由于办公室座位旁的窗户没关,笔记本电脑泡了一夜水,无法开机,无奈送修,里面的大量资料也不知道会不会丢失. is的脚本只有重新写了,重新研究了一下检测程序是否正在运行的判断方法,另 ...
- INNO SETUP脚本向导创建的基本脚本
脚本范例分析:先来看看一段用INNO SETUP脚本向导创建的基本脚本的[Setup]段: [Setup] AppName=Premiere 6.5 汉化补丁-----------------(程 ...
- 使用Inno SetUp脚本打包Winform程序
在开发桌面程序时,往往需要用到打包工具将程序打包为exe可执行文件. 之前在项目中用了下 InstallShield Limited Edition for Visual Studio 2015,它 ...
- inno setup 脚本常用修改 转
http://blog.sina.com.cn/s/blog_72c2eb350100y2sa.html 有人提及想更换安装界面的图片,其实方法很简单,只需要修改inno setup安装目录下的Wiz ...
- 用inno Setup做应用程序安装包的示例脚本(.iss文件)(
用innoSetup做应用程序安装包的示例脚本(.iss文件),具体要看innoSetup附带的文档,好象是pascal语言写的脚本. 示例1(应用程序.exe,客户端安装): ;{089D6802- ...
- 使用inno setup打包程序完整脚本(.net框架检测,重复安装检测)
; 脚本由 Inno Setup 脚本向导 生成!; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "小小鸟软件"#def ...
随机推荐
- 用纯JS实现,点击一个列表时,输出对应的索引(不能用JQuery哦)
你运行一下代码会发现,无论你点击哪个列表,控制台都是输出10.这是因为var声明的变量是函数作用域的,而不是块级作用域的.也就是说,for循环10次,每次都是改变同一个i,所以它的值会从0一直加到10 ...
- lesson6-图像分割-小象c
显著性检测:1)显著性物体检测-最能引起视觉注意的物体区域2)注视点预测:人类视觉注意机制 视觉注意机制的两种机制:1)自底而上基于数据驱动的注意机制,如颜色.边缘 2)自上而下基于任务驱动的目标的注 ...
- Windows 10下使用WMware 12 安装Ubuntu16.04,安装过程(附全过程图)
序言:菜鸡的我又开始瞎搞Ubuntu了 首先在网下下载VMware 12 正常安装即可 关于产品密匙问题:5A02H-AU243-TZJ49-GTC7K-3C61N (这是我在网上找的密匙,反正自己是 ...
- fedora的选择
Fedora 首页包含3种版本: 工作站,服务器,ATOMIC 个人只要使用工作站即可,然后,下载界面有另一个选择:Silverblue ========================== Silv ...
- (21)模型层 -ORM之msql 聚合查询,F和Q(与、或、非查询)、分组查询
什么是聚合查询,就是使用聚合函数做计算 from django.db.models import Count,Avg,Max,Min #聚合函数要从模块中导入 from django.db.mod ...
- python str使用笔记(更新)
判断字符串是否以某个串为结尾: str.endswith(strtmp) 返回True/False >>> strs='aba' >>> strs.endswith ...
- ionic打包步骤(安卓)
打包APP之前要做的工作: ionic resources -icon : [创建一个app图标]: 以png/psd/AI格式保存在项目目录下的:resource/android/icon.png ...
- 【java编程】ServiceLoader使用看这一篇就够了
转载:https://www.jianshu.com/p/7601ba434ff4 想必大家多多少少听过spi,具体的解释我就不多说了.但是它具体是怎么实现的呢?它的原理是什么呢?下面我就围绕这两个问 ...
- TCP/IP option data aligement issue cause system broken
1 Problem Description The field reports show that xxx panel will lockup and then reboot while d ...
- 在WinForm中使用Web Services 来实现 软件自动升级( Auto Update ) (C#)
winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,面对这个实际问题,在最近的一个小项目中,本人设计了一个通过软件实现自动升级技术方案,弥补了 ...