执行安装MariaDB 10.2.11服务器的mariadb-10.2.11-winx64.msi
文件后,我想对MariaDB 10.2.11的 my.ini 文件进行一些更改。安装后的服务器。
我尝试使用AfterInstall
参数,如下所示:
[Files]
Source: C:\Setup\Bin\mariadb-10.2.11-winx64.msi; DestDir: {tmp}; \
Flags: ignoreversion promptifolder deleteafterinstall; Components: server
[Run]
Filename: {tmp}\mariadb-10.2.11-winx64.msi; Parameters: /qn; \
WorkingDir: {tmp}; Flags: shellexec waituntilterminated; AfterInstall: ConfigMyIni
[Code]
procedure ConfigMyIni;
var
MyIni : String;
begin
MyIni := ExpandConstant('{pf}\MariaDB 10.2\data\my.ini');
if FileExists(MyIni) then
begin
if IniKeyExists('mysqld', 'character-set-server', MyIni) then
SetIniString('mysqld', 'character-set-server', 'uft8', MyIni)
else
SetIniString('mysqld', 'character-set-server', 'uft8', MyIni);
if IniKeyExists('mysqld', 'collation-server', MyIni) then
SetIniString('mysqld', 'collation-server', 'uft8_bin', MyIni)
else
SetIniString('mysqld', 'collation-server', 'uft8_bin', MyIni);
if IniKeyExists('mysqld', 'lower-case-table-names', MyIni) then
SetIniString('mysqld', 'lower-case-table-names', '1', MyIni)
else
SetIniString('mysqld', 'lower-case-table-names', '1', MyIni);
end;
end;
我已经逐步完成了脚本代码,我发现在ConfigMyIni
文件执行结束之前执行了mariadb-10.2.11-winx64.msi
过程。那时my.ini
文件不存在。如何在ConfigMyIni
文件执行结束后强制执行mariadb-10.2.11-winx64.msi
过程?
我已经阅读了Inno Setup的帮助,并在Stack Overflow上搜索了任何答案,但没有找到任何可以解决问题的线索。
有人可以就这个问题提供一些帮助吗?
答案 0 :(得分:0)