我有一个基本的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但是,这似乎只安装了另一个安装程序:

如果我手动运行.msi文件,我将选择" full“,并且流程实际上会完整地安装MySQL,并运行服务等。
我如何实现这种安装,默默地,使用NSIS?
更新:
我尝试了许多不同的命令,发现我没有安装带有参数的完整MySQL。我成功地安装了MySQL完全,但没有安装服务和其他关键特性(http://dev.mysql.com/doc/relnotes/mysql-installer/en/mysql-installer-news-1-4-12.html的顶部部分)
我尝试了上述链接的第二部分,没有运气。它所做的就是安装一个文件夹,上面的图片中显示了这些选项。
我试着使用命令安装程序,正如下面的海报所暗示的那样。但是,这给了我一个Oracle登录提示!我需要在没有用户交互的情况下安装这个。

有什么想法吗?
发布于 2016-10-10 22:19:59
通过将MySQLInstallerConsole作为文档化的这里来执行安装可能是可能的,但是当然,让.msi执行安装并这样做会好得多,您需要找出传递给msiexec的正确参数。
这些参数只有.msi的作者才知道,我在MySQL网站上很难找到它的文档。我发现任何有用信息的唯一地方是在安装程序发布说明中!
我发现了一些对installdir和datadir参数这里的引用。我不确定这些是MSI参数还是在CONSOLEARGS字符串中。
使用/passive开关时,您似乎可以传递一个名为CONSOLEARGS的字符串参数,它支持许多选项,如文档中的这里
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"发布于 2018-12-01 14:19:54
在安装程序脚本中,将文件"mysql.msi“复制到安装目录中。首先,在与下面的安装程序脚本相同的目录中创建mysql.msi文件,然后编译安装程序脚本。如果安装程序脚本位于桌面上,则在运行编译后的安装程序之前删除mysql.msi文件。运行简单的安装程序将mysql.msi文件安装到桌面。
您必须按以下方式修改脚本:
ExecWait '"$SYSDIR\msiExec" /i "$INSTDIR\mysql.msi" /qn'https://stackoverflow.com/questions/39964312
复制相似问题