MariaDb使用innosetup静默安装msi不起作用

时间:2016-04-26 15:21:19

标签: mysql windows-installer

我尝试使用inno设置静默安装MariaDB,但它没有安装。

 [Files] 
    Source: "mariadb-10.1.9-win32.msi"; DestDir: "{tmp}"
 [Run]   
    Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\mariadb-10.1.9-win32.msi SERVICENAME=MySQL DATADIR=C:\mydata\DB PORT=3306 UTF8=1"" /qn"

创建了正确的文件夹,但只将卸载文件放入其中。

如果我在cmd中以管理员身份运行它,那么它可以正常运行,而mariaDB已经可以使用了

msiexec.exe /i E:\Installatie\mariadb-10.1.9-win32.msi SERVICENAME=MySQL DATADIR=C:\mydata\DB  PORT=3306 /qn

ps我省略了密码

我修改了文件来源:

[Files] 
"mariadb-10.1.9-win32.msi";  DestName: "mariadb-10.1.9-win32.msi"; DestDir: "c:\temp" 

然后我删除了参数然后我得到了mariaDB安装程序。那么为什么它不适用于参数。 我得到exitcode 1619

3 个答案:

答案 0 :(得分:0)

可能的解释:当您以管理员身份运行它时,它会运行并升级并成功。当您以静默方式运行它时,它无法请求提升并因为需要提升权限而失败,因此请以管理员身份运行InnoSetup进行尝试。

答案 1 :(得分:0)

我在Windows 10上因为{tmp}而无法正常工作。当我使用像c:\ temp而不是{tmp}这样的路径时,它可以工作

答案 2 :(得分:0)

这是我的解决方案。在运行部分中输入:

Filename: "msiexec.exe"; Parameters: "/i {app}\mariadb-5.2.9-win32.msi PORT=3306 PASSWORD=xxxxxx SERVICENAME=MySQL ADDLOCAL=ALL REMOVE=DEVEL,HeidiSQL INSTALLDIR=""C:\mariadb"" /L*v log.txt /qb"; WorkingDir: {app}; Flags: waituntilterminated skipifdoesntexist

我尝试的版本是5,但也应该可以正常使用10。 我的问题是在/ i之后用双引号引起来,一旦将它们删除,安装过程将完美无声地执行(/ qb)并创建mariadb安装的log.txt文件。