使用 NSIS 静默安装 MySQL
Silent install of MySQL using NSIS
我正在尝试使用 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
出现但里面什么也没有。
我确定我还需要做一些其他事情 运行 但我没有尝试任何实际安装结果。
任何指点都很好?
您需要在 之前使用 SetOutPath
指令 File
指令,因为它设置了提取文件的目标路径。
您通常会在提取文件之前执行 SetOutPath "$InstDir"
...
我正在尝试使用 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
出现但里面什么也没有。
我确定我还需要做一些其他事情 运行 但我没有尝试任何实际安装结果。
任何指点都很好?
您需要在 之前使用 SetOutPath
指令 File
指令,因为它设置了提取文件的目标路径。
您通常会在提取文件之前执行 SetOutPath "$InstDir"
...