4

在安装应用程序之前,我需要 inno setup 编译器脚本来检查是否安装了 mysql 服务器。

4

1 回答 1

2

MySQL 与其他的不同,我们也可以通过不时从下载的 zip 档案中运行所需的服务来使用 MySQL 而无需安装到我们的系统中,提取的文件可以放在系统上的任何位置...Tlama 已经提到过这一点。

这里我们有两个案例要检查

案例1:-MySQL是否安装

Direxists函数(这里可以检查程序文件中是否存在 MySQL 目录)
MySQL 目录路径:{pf}\MySQL

Filexists功能(通过此功能,您可以检查用户系统中是否存在所需的 MySQL 文件)

使用 MySQL 注册表键名查询注册表

HKEY_USERS\S-1-5-21-1707045092-1792370289-147592793-1000\Software\MySQL
HKEY_USERS\S-1-5-21-1707045092-1792370289-147592793-1000\Software\MySQL AB HKEY_CURRENT_USER\Software\
MySQL Software\MySQL AB
检查这些是否存在于注册表中。

如果每件事都存在,那很好。去安装你的应用程序

如果没有也检查案例 2

案例2:- 整个系统中是否有任何名称为MySQL的文件或目录,以及Mysql所需的服务是否正在运行

一个。首先使用以下命令检查用户机器中是否存在任何名称为 MySQL 的文件或文件夹,执行命令可以使用Exec函数

通过下面的你可以找到 MySQL(file/directory) 是否存在于 c 驱动器中,但不存在于整个系统中

C:\>tree |find "mysql" >filename

b) 现在通过使用将驱动器更改为 D、E、F

以下命令将为您提供机器中的所有磁盘驱动器

C:\>wmic logicaldisk get caption >filename

然后检查上述文件名中的每个驱动器

 C:\>D:  
 d:\>tree |find "mysql" >filename

每次Loadstringfromfile到某个字符串,然后检查字符串的长度是否为零。如果不为零,则需要通过使用检查所需的服务是否正在运行(为简单起见,您可以跳过上述一些步骤)

tasklist |find "required service of MySQL" >filename 

如果所有驱动器都完成并且没有找到任何东西,不用担心,只需提示用户下载 MySQL(使用 ITD(Innoo 工具下载器)),否则您可以将 MySQL msi 与您的应用程序一起打包,但您的应用程序变得庞大(包含更多内存)。

于 2013-07-16T16:43:05.967 回答