1、添加了卸载判断用语

2、添加了安装程序进程是否存在使用了wmi服务

; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "陕十三1.0"
#define MyAppVersion "1.0"
#define MyAppPublisher ""
#define MyAppExeName "陕十三.exe" [Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (若要生成新的 GUID,可在菜单中点击 "工具|生成 GUID"。)
AppId=
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName={autopf}\Expert_acquisition_system_v1
DisableProgramGroupPage=yes
; 以下行取消注释,以在非管理安装模式下运行(仅为当前用户安装)。
;PrivilegesRequired=lowest
DefaultGroupName=陕十三2.0
OutputBaseFilename=陕十三1.0
Compression=lzma
SolidCompression=yes
WizardStyle=modern [Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl" [code]
function IsAppRunning(const FileName : string): Boolean;
var
FSWbemLocator: Variant;
FWMIService : Variant;
FWbemObjectSet: Variant;
begin
Result := false;
FSWbemLocator := CreateOleObject('WBEMScripting.SWBEMLocator');
FWMIService := FSWbemLocator.ConnectServer('', 'root\CIMV2', '', '');
FWbemObjectSet := FWMIService.ExecQuery(Format('SELECT Name FROM Win32_Process Where Name="%s"',[FileName]));
Result := (FWbemObjectSet.Count > 0);
FWbemObjectSet := Unassigned;
FWMIService := Unassigned;
FSWbemLocator := Unassigned;
end; function InitializeSetup(): Boolean;
begin
Result := IsAppRunning('mysqld.exe');
if Result then
begin
MsgBox('当前系统中已经存在数据库,请先关闭程序后再重试! ', mbError, MB_OK);
result:=false;
end
else
begin
result := true;
end;
end; function InitializeUninstall(): Boolean;
var
Text: string;
begin Result := (MsgBox('当前卸载会卸载所关联的数据库数据以及程序,如继续卸载请按【是】放弃请按【否】', mbConfirmation, MB_YESNO) = IDYES);
end;
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone
;Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files]
Source: "E:\client\student_shengting\moegov\moegov\bin\Release\陕十三.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\client\student_shengting\moegov\moegov\bin\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "D:\rwas\excel导入导出版本\install.bat"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\rwas\excel导入导出版本\zfxm_rss.sql"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\mysqls\test\mysql-5.6.45-winx64\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion” [Icons]
;Name: "{commonprograms}\{#MyAppName}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: {app};
;Name: {commonprograms}\{#MyAppName}\卸载 {#MyAppName}; Filename:{uninstallexe}; WorkingDir: {app};
;Name: {commonprograms}\{#MyAppName}\卸载 {#MyAppName}; Filename:{uninstallexe}; WorkingDir: {app};
;Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon //开始菜单快捷方式
Name: "{commonprograms}\{#MyAppName}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; WorkingDir: {app}; //桌面快捷方式
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
//开始菜单卸载程序
Name: {commonprograms}\{#MyAppName}\卸载 {#MyAppName}; Filename:{uninstallexe}; WorkingDir: {app};
Name: {commonprograms}\{#MyAppName}\卸载 {#MyAppName}; Filename:{uninstallexe}; WorkingDir: {app}; [INI]
;修改数据库配置文件
Filename:"{app}\my.ini";Section:"client";Key:"port"; String:"3306"
;Filename:"{app}\my.ini";Section:"client";Key:"default-character-set"; String:"utf8" gb2312
Filename:"{app}\my.ini";Section:"client";Key:"default-character-set"; String:"utf8"
Filename:"{app}\my.ini";Section:"mysql";Key:"port"; String:"3306"
;Filename:"{app}\my.ini";Section:"mysql";Key:"default-character-set"; String:"utf8"
Filename:"{app}\my.ini";Section:"mysql";Key:"default-character-set"; String:"utf8"
Filename:"{app}\my.ini";Section:"mysqld";Key:"port"; String:"3306"
Filename:"{app}\my.ini";Section:"mysqld";Key:"basedir"; String:"{app}"
Filename:"{app}\my.ini";Section:"mysqld";Key:"datadir"; String:"{app}\data"
;Filename:"{app}\my.ini";Section:"mysqld";Key:"character-set-server"; String:"utf8"
Filename:"{app}\my.ini";Section:"mysqld";Key:"character-set-server"; String:"gb2312"
Filename:"{app}\my.ini";Section:"mysqld";Key:"default-storage-engine"; String:"InnoDB"
Filename:"{app}\my.ini";Section:"mysqld";Key:"max_connections"; String:"100"
Filename:"{app}\my.ini";Section:"mysqld";Key:"sql_mode"; String:"NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES" [Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
;Filename: "{app}\vcredist_x64.exe";
Filename: "{app}\install.bat";Description:"正在启动或配置相关程序"
[UninstallRun]
Filename: "{app}\uninstall.bat";
[UninstallDelete]
Type:filesandordirs;Name:"{app}"

inno steup 安装判断 进程是否运行的更多相关文章

  1. Linux 判断进程是否运行

    问题 linux平台 多人开发服务器,有时自己运行一个进程在服务器上,但未知原因导致停止运行了,需要添加一个定时任务,用于监控指定进程是否运行 方法 一个通用的方法,以便使用在不同项目中. 思路:定时 ...

  2. Inno Setup安装程序单例运行

    1.源起: KV项目下载底层升级包,老是报出升级文件占用问题,反复分析,不得其所. 今天突然发现同时启动多个升级程序实例,分析认为安装包同时被调用多次,引发实例访问文件冲突,导致此问题. 安装程序由I ...

  3. shell脚本判断进程是否运行

    zzx@zzx120:~$ if ps aux | grep "python"|grep -v grep > /dev/null             #$?的值不同 th ...

  4. INNO setup安装卸载钱判断进程中是否在运行总结

    1.安装前判断进程中是否有程序在运行. [files] ; 安装前判断进程,dll文件放在inno的安装目录中Source: compiler:psvince.dll; Flags: dontcopy ...

  5. inno setup 安装前判断进程是否存在,以及停止相应进程<转>

    打包的时候遇到了这样的需求:假似用户都是傻瓜                  式操作,如果更新安装程序的时候,之前的老程序还在运行这个时候如果你去提示让用户吧老程序手动退掉也不现实. 所以当遇到这种 ...

  6. innosetup 安装前、卸载前判断是否有进程正在运行<转>

    [Code] //安装前判断是否有进程正在运行,istask.dll文件与打包的exe文件一起 function RunTask(FileName: string; bFullpath: Boolea ...

  7. Inno Setup安装时不能关闭指定进程

    脚本由 Inno Setup 脚本向导 生成!; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档! #define MyAppName "XX管理系统"#defi ...

  8. 如何运用inno在安装和卸载时提示用户结束进程?

    我尝试着写了一段,但是卸载段存在问题,请指点! CODE [Files]Source: ISTask.dll; DestDir: {app}; Flags: ignoreversion [Code]f ...

  9. Inno Setup 安装、卸载前检测进程或服务

    [转载]Inno Setup 安装.卸载前检测进程或服务 (2015-04-24 17:37:20) 转载▼ 标签: 转载   原文地址:Inno Setup 安装.卸载前检测进程或服务作者:一去丶二 ...

随机推荐

  1. Arduino 与 SPI 结合使用 以及SPI 深层理解

    本文主要讲解两部分内容,不做任何转发,仅个人学习记录: 一. Arduino 与 SPI 结合使用  : 二. SPI 深层理解 有价值的几个好的参考: 1. 中文版: https://blog.cs ...

  2. Android设备上的逐像素碰撞检测

    介绍 我正在我的Android设备上开发一款游戏,不用说,因为我想要接触到尽可能多的用户,我做到了 省略了硬件加速.因此,我需要编写能够在大多数设备上运行的最快的代码.我从一个简单的表面视图开始 并使 ...

  3. java进阶(26)--ForEach

    JDK5.0后新特性 一.普通for循环

  4. 二进制安装MySQL-5.7.28

    系统基础优化 #更改主机名 hostname msyql echo "msyql" >/etc/hostname #修改字符集 echo "LANG="z ...

  5. Windows7 组策略错误:“未能打开这台计算机上的组策略对象。您可能没有合适的权限。”

    在 Windows 7 系统下,打开组策略时,出现 组策略错误 -- "未能打开这台计算机上的组策略对象.您可能没有合适的权限.".如下图所示: 解决方案: 1.进入"计 ...

  6. Verilog基础入门——Vivado工程创建(三)

    Verilog基础入门--Vivado工程创建(三) Vivado是Verilog语言的一个集成环境,目前使用的版本为英文版,简单介绍一下在Vivado中创建一个工程并写入源文件 [配置] win10 ...

  7. C语言从1打印到100再打印到1该如何编写?我只服最后一种写法!

    我觉得这是一个送分题,奈何人才太多了,给出了各种古怪的写法,如果是做项目的话,我比骄建议一些正常的写法,就是大家都能看得懂的,不要搞什么花里胡哨,不过你要是交流的话,既然是交流,我不觉得要多正规,即使 ...

  8. Martyr2项目实现——Number部分的问题求解 (1) Find Pi to Nth Digit

    Martyr2项目实现--Number部分的问题求解 (1) Find Pi to Nth Digit Find Pi to Nth Digit 问题描述: Find PI to the Nth Di ...

  9. hugo主题文档-manpassant

    +++ date="2020-10-17T10:32:00+08:00" title="hugo主题文档manpassant" tags=["hugo ...

  10. 如何获取前端提交来得json格式数据

    composer.json { "require": { "guzzlehttp/guzzle": "~6.0" } } composer ...