Inno Setup脚本
某天夜晚一场狂风暴雨,由于办公室座位旁的窗户没关,笔记本电脑泡了一夜水,无法开机,无奈送修,里面的大量资料也不知道会不会丢失。
is的脚本只有重新写了,重新研究了一下检测程序是否正在运行的判断方法,另外新增了限制安装程序重复开启的条件。还是在这里备份一下。
; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!#define MyAppName "客服平台" #define MyAppVersion "1.6.5" #define MyAppPublisher "机构名" #define MyAppURL "http://www.网站名.com/" #define MyAppExeName "应用程序名.exe"[Setup] ; 注: AppId的值为单独标识该应用程序。 ; 不要为其他安装程序使用相同的AppId值。 ; (生成新的GUID,点击 工具|在IDE中生成GUID。) AppId={{1B7F2E1D-F0D3-44D0-B460-61C4B0038784} AppName={#MyAppName} AppVersion={#MyAppVersion} AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} VersionInfoProductVersion={#MyAppVersion} VersionInfoProductTextVersion={#MyAppVersion} VersionInfoVersion={#MyAppVersion} VersionInfoCompany={#MyAppPublisher} VersionInfoCopyright={#MyAppPublisher}{#'版权所有'}DefaultDirName={pf}\ZestChat DisableDirPage=yes DisableProgramGroupPage=yesOutputDir=D:\publish\Installer OutputBaseFilename=ClientSetup SetupIconFile=D:\......\图片名.ico Compression=lzma SolidCompression=yes[Languages] Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"[Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"[CustomMessages] FinishedHeadingLabel=恭喜你,{#MyAppName}安装成功! FinishedLabel=安装程序已在您的电脑中安装了“{#MyAppName}”。此应用程序可以通过选择安装的快捷方式运行。%n%n单击 [完成(F)] 关闭安装程序。 Tooltip={#MyAppName} {#MyAppVersion} TooltipText={#MyAppName}安装正在开始... MenuStrs=显示/隐藏 {#MyAppName} 安装程序;-;关于 {#MyAppName} ;-;退出 {#MyAppName} 安装[Files] Source: "D:\...\程序路径\...\bin\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”[Icons] Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon[Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent[Code] function InitializeSetup():boolean; //var bResult:boolean; var ErrorCode: Integer; begin Result := true; //检测是否有另一个安装程序在运行 //bResult := CheckForMutexes('MutexChatClientSetup'); if CheckForMutexes('MutexChatClientSetup') then begin MsgBox('另一安装程序已经在运行,此安装程序将退出。',mbInformation,MB_OK); Result := false; Exit; end else begin //没有就创建互斥量 CreateMutex('MutexChatClientSetup');if CheckForMutexes('自定义名称') then //自定义名称在app.xaml.cs中为:_mutex = new Mutex(false, "ZestChatClient");beginif MsgBox('检测到客服端正在运行中!'#13'点击 "是" 关闭客服端继续安装;'#13'点击 "否" 退出安装程序!', mbConfirmation, MB_YESNO) = IDYES thenbeginShellExec('open', ExpandConstant('{cmd}'), '/c taskkill /f /t /im ChatClient.exe', '', SW_HIDE, ewNoWait, ErrorCode);Result:= true;endelseResult:= false;endelse Result := true; end; end;
转载于:https://www.cnblogs.com/lionwang/p/9089765.html
Inno Setup脚本相关推荐
- 使用inno setup打包程序完整脚本(.net框架检测,重复安装检测)
; 脚本由 Inno Setup 脚本向导 生成!; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "小小鸟软件"#def ...
- 用inno Setup做应用程序安装包的示例脚本 .iss文件
用innoSetup做应用程序安装包的示例脚本(.iss文件),具体要看innoSetup附带的文档,好象是pascal语言写的脚本. 示例1(应用程序.exe,客户端安装): ;{089D6802- ...
- 用inno Setup做应用程序安装包的示例脚本(.iss文件)(
用innoSetup做应用程序安装包的示例脚本(.iss文件),具体要看innoSetup附带的文档,好象是pascal语言写的脚本. 示例1(应用程序.exe,客户端安装): ;{089D6802- ...
- Inno Setup 打包脚本笔记
Inno Setup 打包脚本总结 1.1. 脚本段 1.1.1. #define宏定义常量 1.1.2. [Setup] 1.1.3. AppId 1.1.3.1. ShowLanguageDial ...
- Inno Setup 系列之较完整的Inno Setup 安装脚本,具备安装包常用的功能
初接触 Inno Setup ,现把安装包常用的功能安装脚本总结一下,方便以后使用 [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相同的AppId值. ; ...
- MySQL innosetup_使用Inno Setup 打包jdk、mysql、tomcat、webapp等为一个exe安装包
1 ; 脚本由 Inno Setup 脚本向导 生成!2 ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!3 4 #define MyAppName "abc" ...
- inno setup 打包mysql_使用Inno Setup 打包jdk、mysql、tomcat、webapp等为一个exe安装包
1 ; 脚本由 Inno Setup 脚本向导 生成!2 ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!3 4 #define MyAppName "abc" ...
- 注册flash.ocx inno setup (转)
注册flash.ocx inno setup (转) ; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyA ...
- Inno Setup 介绍
Inno Setup 详解中文资料 其一:使用教程 一.Inno Setup 是什么? InnoSetup 是一个免费的 Windows 安装程序制作软件.第一次发表是在 1997 年,Inno Se ...
- inno setup 卸载注册表_inno setup 修改卸载文件名称
; Inno Setup 脚本 ; 该示例脚本显示如何自定义卸载文件的名称(默认为 unins000.exe,unins001.exe 等等). [Setup] AppName=自定义卸载文件名示例程 ...
最新文章
- ansible自动化运维(二)——环境部署及常用模块的使用
- php手机底部菜单,html5手机web页面底部菜单
- mysql collation utf8_mysql数据库 表字段 的collation utf8_unicode_ci
- Kotlin学习笔记——安装配置kotlin
- 数据传输完整性_电缆监测数据传输系统分析与设计
- java 方法 示例_Java语言环境getISOLanguages()方法与示例
- django上传文件到服务器,如何用django将文件上传到服务器?
- QObject::startTimer: Timers cannot be started from another thread [使用自定义信号与曹函数来解决在子线程中不能调用QTimer定时器]
- Android:制作Update.zip升级包 【转】
- [原创]linux简单之美(三)
- 警惕,最新SCI/SSCI期刊14本期刊被剔除?
- 图像数字水印技术研究及matlab实现,数字水印技术研究及其matlab仿真.doc
- 泰坦尼克号数据集处理
- [蓝桥杯] 扩散 (Python 实现)
- Linux设置终端快捷键
- netty面试题及答案
- 利用python暴力破解rar压缩文件密码
- mysql利用二进制日志binlog恢复误删除操作
- IDEA的快捷键与qq的冲突了怎么办
- 4.3 Matplotlib 图中图
热门文章
- camvid数据集使用方法_github资源推荐:目标姿态检测数据集与渲染方法
- 深度学习行人检测简介_深度学习简介
- apollo源码分析 感知_Scikit-Learn 源码研读 (第一期)项目结构介绍
- java 标题栏_如何更改java应用程序标题栏默认图标
- java中的 element_Java中队列的element()方法的用法
- axios直传阿里云,获取上传进度已以及取消上传
- 26复杂类型比较,使用Compare .NET objects组件
- 微信公众号网页授权代码优化过程(三)
- vue生命周期心得体会800字
- java8 新特性实践