使用NSIS安装MySQL

时间:2016-10-05 17:28:13

标签: mysql nsis msiexec silent-installer

我尝试使用NSIS静默安装MySQL。现在我只是试图让MySQL部分失效,这个脚本纯粹是为了安装MySQL。

我读过的大多数论坛帖子都是从2009年到2011年,所以我想象已经过时了。

到目前为止,我有这个基本脚本:

!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"
    File mysql.msi
    ExecWait 'msiexec /i "$INSTDIR\mysql.msi" /qn'
    SetOutPath "$PROGRAMFILES\MySQL\MySQL Server 5.7.15"

SectionEnd

正如您所看到的,我要求MSI以静默方式运行并指定安装文件夹。

当我构建NSIS安装程序并运行它时,文件夹$PROGRAMFILES\MySQL\MySQL Server 5.7.15出现但其中没有任何内容。

我确信我还有其他东西需要运行,但实际安装时我没有尝试过任何结果。

任何指针都会很棒?

1 个答案:

答案 0 :(得分:1)

您需要在 SetOutPath指令之前使用File指令,因为它设置了解压缩文件的目标路径。

通常在提取文件之前执行SetOutPath "$InstDir" ...