我尝试使用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
答案 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文件。