1.下载压缩包式的mysql。
2.将mysql压缩包解压在打包文件目录中。
3.修改innosetup的打包文件如setup.iss。
(1)添加如下目录
Source: ".\mysql\*"; DestDir: "c:\mysql\"; Flags: ignoreversion recursesubdirs
(2)配置mysql中的my.ini
[INI]
Filename:"c:\mysql\my.ini";Section:"mysqld";Key:"basedir"; String:"c:\mysql"
Filename:"c:\mysql\my.ini";Section:"mysqld";Key:"datadir"; String:"c:\mysql\data"
Filename:"c:\mysql\my.ini";Section:"mysqld";Key:"port"; String:"3308"
Filename:"c:\mysql\my.ini";Section:"client";Key:"port"; String:"3308"
(3)添加配置文件mysqlSetup.bat
Source: ".\mysqlSetup.bat "; DestDir:"c:\mysql\"; Flags:ignoreversion
mysqlSetup.bat文件内容如下:注意:测试过程中的mysqlSetup.bat文件与setup.iss文件在同一个目录下,安装过后,mysqlSetup.bat文件在c:\mysql 文件夹中。
echo on
cd /d %~dp0
set inipath = %cd%\my.ini
net stop mysql_job
sc delete mysql_job
"%cd%\bin\mysqld.exe" -install mysql_job --defaults-file="%cd%\my.ini"
"%cd%\bin\mysqld.exe" --initialize-insecure --user=mysql --console
net start mysql_job
sc config mysql_job start=auto
net stop mysql_job
net start mysql_job
(4)配置批处理文件运行
[Run]
Filename: "c:\mysql\mysqlSetup.bat"
(5)配置运行前mysql服务的清除
[code]
function InitializeSetup: Boolean;
var
temp:Integer;
begin
Exec(
'cmd.exe',
'/c net stop mysql_job&&sc delete mysql_job',
'', SW_HIDE, ewWaitUntilTerminated, temp);
Result:=true;
end;
4.打包运行测试。