首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NSIS静默安装完整的MySQL

使用NSIS静默安装完整的MySQL
EN

Stack Overflow用户
提问于 2016-10-10 18:13:34
回答 2查看 3.4K关注 0票数 1

我有一个基本的NSIS脚本设置如下:

代码语言:javascript
复制
!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登录提示!我需要在没有用户交互的情况下安装这个。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-10 22:19:59

通过将MySQLInstallerConsole作为文档化的这里来执行安装可能是可能的,但是当然,让.msi执行安装并这样做会好得多,您需要找出传递给msiexec的正确参数。

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

我发现了一些对installdirdatadir参数这里的引用。我不确定这些是MSI参数还是在CONSOLEARGS字符串中。

使用/passive开关时,您似乎可以传递一个名为CONSOLEARGS的字符串参数,它支持许多选项,如文档中的这里

代码语言:javascript
复制
msiexec /i mysql-installer-community-5.6.27.1.msi /passive CONSOLEARGS="install -type=Full -silent"

代码语言:javascript
复制
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"
票数 1
EN

Stack Overflow用户

发布于 2018-12-01 14:19:54

在安装程序脚本中,将文件"mysql.msi“复制到安装目录中。首先,在与下面的安装程序脚本相同的目录中创建mysql.msi文件,然后编译安装程序脚本。如果安装程序脚本位于桌面上,则在运行编译后的安装程序之前删除mysql.msi文件。运行简单的安装程序将mysql.msi文件安装到桌面。

您必须按以下方式修改脚本:

代码语言:javascript
复制
ExecWait '"$SYSDIR\msiExec" /i "$INSTDIR\mysql.msi" /qn'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39964312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档