尝试使用Inno安装程序以默认用户和密码安装MariaDB

尝试使用Inno安装程序以默认用户和密码安装MariaDB,mariadb,inno-setup,Mariadb,Inno Setup,我正在尝试为我的应用程序创建一个安装程序,允许您在MySQL或MariaDB之间进行选择,因为还有许多其他应用程序使用MySQL,并在默认情况下修改用户和密码,使其无法连接到数据库,因此这不会影响我。我决定添加数据库引擎MariaDB,如果有使用MySQL的应用程序可以在端口3307上放置一个用户和密码,该用户和密码不会对其他人产生任何影响 我尝试在Setup.iss中放入以下行 [Tasks] Name: "MariaDB"; Description: "{cm:MariaDB}"; Grou

我正在尝试为我的应用程序创建一个安装程序,允许您在MySQL或MariaDB之间进行选择,因为还有许多其他应用程序使用MySQL,并在默认情况下修改用户和密码,使其无法连接到数据库,因此这不会影响我。我决定添加数据库引擎MariaDB,如果有使用MySQL的应用程序可以在端口3307上放置一个用户和密码,该用户和密码不会对其他人产生任何影响

我尝试在Setup.iss中放入以下行

[Tasks]
Name: "MariaDB"; Description: "{cm:MariaDB}"; GroupDescription: "cm:dbOnly}";  Flags: exclusive unchecked; Components: full;
[Files]
Source: "{#InstallersDir}MariaDB\mariadb-10.4.6-winx64.msi"; DestDir: "{tmp}"; Flags: ignoreversion nocompression; Components: full; Tasks:MariaDB
[Run]
Filename: msiexec.exe; Check: not InstalledApplication('MariaDB','10.4'); Parameters: "/i ""{tmp}\mariadb-10.4.6-winx64.msi"" SERVICENAME=G2DatabaseService DATADIR=""{pf}\MariaDB\MariaDB 10.4\data"" PORT=3307 BUFFERPOOLSIZE=2Gb ALLOWREMOTEROOTACCESS=1 /passive"; WorkingDir:{app}; StatusMsg:"{cm:waitDatabase}" ; Flags: runhidden ;Components: full;BeforeInstall: UpdateProgress(91); AfterInstall: UpdateProgress(95); Tasks:MariaDB;

我希望使用myPassword在端口3307上创建一个默认的myUser用户。而且只有端口适用

这可能是MariaDB not Inno设置的问题


调试类似问题的最简单方法是编写一个带有命令和参数的.bat文件,当一切正常时,只需将其放入Inno安装脚本中即可

我尝试了你所说的,尽管它可以处理批处理文件,甚至可以从控制台运行SQL,但不能处理InnoSetup[run]文件名:{pf64}\MariaDB 10.4\bin\Mysql.exe;参数:-u root-proot-port=3307<{tmp}\MariaDB\createUser.sql;工作目录:{app};StatusMsg:{cm:waitDatabase};旗帜:runhidden;组成部分:全部;你遵循这个指南了吗?它说你可以用全名传递参数,比如parameters:PASSWORD=root…如果没有任何效果,你可以直接从Inno安装程序运行你的.bat文件。在.bat文件中设置参数和设置适合Inno安装程序的参数是不同的!要在带引号的值中嵌入双引号字符,请使用两个连续的双引号字符。下一个是唯一一个不工作的:SERVICENAME=G2DatabaseService正确的SERVICENAME=G2DatabaseService!请看inno安装帮助!