【问题标题】:Silent install of MySQL using NSIS使用 NSIS 静默安装 MySQL
【发布时间】:2016-10-05 17:28:13
【问题描述】:

我正在尝试使用 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,但里面什么都没有。

我确信我必须运行其他一些东西,但我没有尝试过实际安装。

任何指针都会很棒?

【问题讨论】:

    标签: mysql nsis windows-installer silent-installer


    【解决方案1】:

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

    你通常在解压文件之前先SetOutPath "$InstDir"...

    【讨论】:

    • 我会试一试的。这确实很有意义,我只是按照另一个例子来达到那个阶段
    • 我交换了 msiexec 和 SetOutPath,但文件夹仍然显示为空白。 MSI 似乎没有安装
    • SetOutPath 必须是Section 中的第一条指令! SetOutPath 然后File 然后ExecWait!您的SetOutPath 行包含一些可能与$InstDir 不同的硬编码路径,请在SetOutPathExecWait 中使用相同的路径!
    猜你喜欢
    • 1970-01-01
    • 2011-11-29
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    相关资源
    最近更新 更多