我尝试使用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
出现但其中没有任何内容。
我确信我还有其他东西需要运行,但实际安装时我没有尝试过任何结果。
任何指针都会很棒?
答案 0 :(得分:1)
您需要在 SetOutPath
指令之前使用File
指令,因为它设置了解压缩文件的目标路径。
通常在提取文件之前执行SetOutPath "$InstDir"
...