2016-10-10 75 views
0

我有一个基本的NSIS脚本设置,象这样:安装全安装MySQL默默使用NSIS

!include MUI2.nsh 
!include WordFunc.nsh 
!insertmacro VersionCompare 
!include LogicLib.nsh 
!include InstallOptions.nsh 
!include nsDialogs.nsh 

Name "sqltest" 
!define MUI_HEADERIMAGE 
!define MUI_HEADERIMAGE_RIGHT 

OutFile "sqltest.exe" 
InstallDir "$PROGRAMFILES\sqltest" 
RequestExecutionLevel admin 

XPStyle on 

!define MUI_WELCOMEPAGE_TEXT "The MySQL Test Install" 
!insertmacro MUI_PAGE_WELCOME 
!insertmacro MUI_PAGE_DIRECTORY 
!insertmacro MUI_PAGE_INSTFILES 
;!insertmacro MUI_UNPAGE_CONFIRM 
;!insertmacro MUI_UNPAGE_INSTFILES 
!insertmacro MUI_LANGUAGE "English" 

Section "install" 

    SetOutPath $INSTDIR 
    File /r "V:\Installers\MySQL\Release\*.*" 
    ExecWait '"$SYSDIR\msiExec" /i "$INSTDIR\mysql.msi" /passive' 


SectionEnd 

然而,这似乎只安装另一个安装程序:

mysql install folder

如果我运行.msi文件手动我可以选择“完整”,并且该过程实际上安装MySQL,服务正在运行等。

我该如何实现是安装,默默地使用NSIS?

更新:

我尝试了很多不同的命令,发现没有我没有安装完整的MySQL带有参数。我设法安装MySQL完整版,但这并没有安装服务和其他主要功能(http://dev.mysql.com/doc/relnotes/mysql-installer/en/mysql-installer-news-1-4-12.html的顶部)

我试过上面链接的第二部分,没有运气。它所做的只是安装上面图片中显示的选项的文件夹。

我尝试使用命令安装程序,如下面的海报所暗示的。但是,这给了我一个Oracle登录提示!我需要安装,而且这没有用户交互。

enter image description here

任何想法?

+0

这有什么好请使用NSIS,请删除NSIS标签。 – Anders

+0

似乎MySQL有多个.msi,你下载了哪个?社区版? – Anders

+0

是的,社区版 –

回答

0

通过以文件here的形式执行MySQLInstallerConsole,可能会继续安装,但获得.msi执行安装并执行此操作当然要好得多,因为您需要找出要传递给的正确参数MSIEXEC。

这些参数仅为.msi的作者所知,我很难在MySQL网站上找到它的文档。我发现任何有用的信息的唯一地方是在安装程序发行说明中!

我发现一些对installdirdatadir参数here的引用。我不确定这些是否是MSI参数,或者它们是否在CONSOLEARGS字符串中。

当使用/passive开关看来你是能够通过所谓的CONSOLEARGS字符串参数,它支持很多选择记录here

msiexec /i mysql-installer-community-5.6.27.1.msi /passive CONSOLEARGS="install -type=Full -silent" 

msiexec /i mysql-installer-community-5.6.27.1.msi /passive CONSOLEARGS="install server;5.6.27;x64:*:type=config;openfirewall=true;generallog=true;binlog=true;serverid=1;enable_tcpip=true;port=3306;rootpasswd=secret:type=user;username=root;password=secret;role=DBManager -silent" 
+0

感谢您的详细解答@Anders,我会检查一下参数,并做一些更多的试验和错误来看看我能得到多少! –

+0

我一直在尝试很多东西。我的反馈是在我的OP中。有任何想法吗? –

+0

我从来没有安装MySQL,所以我不知道。你可以尝试在他们的论坛上提问。这个话题似乎与你的问题有关:http://forums.mysql.com/read.php?169,647447,647447#msg-647447 – Anders