某天夜晚一场狂风暴雨,由于办公室座位旁的窗户没关,笔记本电脑泡了一夜水,无法开机,无奈送修,里面的大量资料也不知道会不会丢失。

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脚本相关推荐

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

    ; 脚本由 Inno Setup 脚本向导 生成!; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "小小鸟软件"#def ...

  2. 用inno Setup做应用程序安装包的示例脚本 .iss文件

    用innoSetup做应用程序安装包的示例脚本(.iss文件),具体要看innoSetup附带的文档,好象是pascal语言写的脚本. 示例1(应用程序.exe,客户端安装): ;{089D6802- ...

  3. 用inno Setup做应用程序安装包的示例脚本(.iss文件)(

    用innoSetup做应用程序安装包的示例脚本(.iss文件),具体要看innoSetup附带的文档,好象是pascal语言写的脚本. 示例1(应用程序.exe,客户端安装): ;{089D6802- ...

  4. Inno Setup 打包脚本笔记

    Inno Setup 打包脚本总结 1.1. 脚本段 1.1.1. #define宏定义常量 1.1.2. [Setup] 1.1.3. AppId 1.1.3.1. ShowLanguageDial ...

  5. Inno Setup 系列之较完整的Inno Setup 安装脚本,具备安装包常用的功能

    初接触 Inno Setup ,现把安装包常用的功能安装脚本总结一下,方便以后使用 [Setup] ; 注: AppId的值为单独标识该应用程序. ; 不要为其他安装程序使用相同的AppId值. ; ...

  6. MySQL innosetup_使用Inno Setup 打包jdk、mysql、tomcat、webapp等为一个exe安装包

    1 ; 脚本由 Inno Setup 脚本向导 生成!2 ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!3 4 #define MyAppName "abc" ...

  7. inno setup 打包mysql_使用Inno Setup 打包jdk、mysql、tomcat、webapp等为一个exe安装包

    1 ; 脚本由 Inno Setup 脚本向导 生成!2 ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!3 4 #define MyAppName "abc" ...

  8. 注册flash.ocx inno setup (转)

    注册flash.ocx inno setup (转) ; 脚本由 Inno Setup 脚本向导 生成! ; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyA ...

  9. Inno Setup 介绍

    Inno Setup 详解中文资料 其一:使用教程 一.Inno Setup 是什么? InnoSetup 是一个免费的 Windows 安装程序制作软件.第一次发表是在 1997 年,Inno Se ...

  10. inno setup 卸载注册表_inno setup 修改卸载文件名称

    ; Inno Setup 脚本 ; 该示例脚本显示如何自定义卸载文件的名称(默认为 unins000.exe,unins001.exe 等等). [Setup] AppName=自定义卸载文件名示例程 ...

最新文章

  1. ansible自动化运维(二)——环境部署及常用模块的使用
  2. php手机底部菜单,html5手机web页面底部菜单
  3. mysql collation utf8_mysql数据库 表字段 的collation utf8_unicode_ci
  4. Kotlin学习笔记——安装配置kotlin
  5. 数据传输完整性_电缆监测数据传输系统分析与设计
  6. java 方法 示例_Java语言环境getISOLanguages()方法与示例
  7. django上传文件到服务器,如何用django将文件上传到服务器?
  8. QObject::startTimer: Timers cannot be started from another thread [使用自定义信号与曹函数来解决在子线程中不能调用QTimer定时器]
  9. Android:制作Update.zip升级包 【转】
  10. [原创]linux简单之美(三)
  11. 警惕,最新SCI/SSCI期刊14本期刊被剔除?
  12. 图像数字水印技术研究及matlab实现,数字水印技术研究及其matlab仿真.doc
  13. 泰坦尼克号数据集处理
  14. [蓝桥杯] 扩散 (Python 实现)
  15. Linux设置终端快捷键
  16. netty面试题及答案
  17. 利用python暴力破解rar压缩文件密码
  18. mysql利用二进制日志binlog恢复误删除操作
  19. IDEA的快捷键与qq的冲突了怎么办
  20. 4.3 Matplotlib 图中图

热门文章

  1. camvid数据集使用方法_github资源推荐:目标姿态检测数据集与渲染方法
  2. 深度学习行人检测简介_深度学习简介
  3. apollo源码分析 感知_Scikit-Learn 源码研读 (第一期)项目结构介绍
  4. java 标题栏_如何更改java应用程序标题栏默认图标
  5. java中的 element_Java中队列的element()方法的用法
  6. axios直传阿里云,获取上传进度已以及取消上传
  7. 26复杂类型比较,使用Compare .NET objects组件
  8. 微信公众号网页授权代码优化过程(三)
  9. vue生命周期心得体会800字
  10. java8 新特性实践