2016-10-10 8 views
0

У меня есть основной NSIS установки сценария следующим образом:Установка полной MySQL установить автоматически с помощью NSIS

!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 

Однако, это только кажется, установить другую программу установки:

mysql install folder

Если я бегу файл .msi вручную, я выбираю «полный», и процесс фактически устанавливает MySQL полностью, с запущенным сервисом и т. д.

Как я могу достичь является типом установки, молча, используя NSIS?

Update:

Я пробовал много различных команд и обнаружил, что я ничего не сделал установлен полный MySQL с аргументами. Мне удалось установить MySQL полностью, но это не установило сервис и другие ключевые функции (верхняя часть http://dev.mysql.com/doc/relnotes/mysql-installer/en/mysql-installer-news-1-4-12.html)

Я пробовал второй раздел вышеуказанной ссылки, не повезло. Все, что было сделано, это установить папку с параметрами, показанными на изображении выше.

Я пробовал использовать установщик команд, так как плакат под ним упоминался. Однако это дало мне приглашение для входа в Oracle! Мне нужно установить и это без взаимодействия с пользователем.

enter image description here

Любые идеи?

+0

Это не имеет ничего делать с NSIS, удалите тег NSIS. – Anders

+0

Кажется, что для MySQL существует более одного .msi, который вы загрузили? Издание сообщества? – Anders

+0

Да, издание сообщества –

ответ

0

Возможно, возможно продолжить установку, выполнив MySQLInstallerConsole, как описано в документе here, но, конечно, гораздо лучше получить .msi для выполнения установки и сделать это, чтобы выяснить правильные параметры для перехода к Msiexec.

Эти параметры известны только авторам .msi, и мне очень трудно найти документацию для него на веб-сайте MySQL. Единственное место, где я нашел полезную информацию, было в примечаниях к выпуску установщика!

Я нашел несколько ссылок на параметры installdir и datadirhere. Я не уверен, являются ли эти параметры MSI или если они входят в строку CONSOLEARGS.

При использовании /passive переключателя, кажется, вы можете передать строковый параметр с именем CONSOLEARGS и поддерживает много вариантов, как документально here:

msiexec /i mysql-installer-community-5.6.27.1.msi /passive CONSOLEARGS="install -type=Full -silent" 

или

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" 
+0

Спасибо за подробный ответ @Anders, я проверю аргументы и сделаю еще несколько проб и ошибок, чтобы узнать, как далеко я доберусь! –

+0

Я пробовал много всего. Моя обратная связь в моем OP. Есть идеи? –

+0

У меня никогда не был инсталлятор MySQL, поэтому я не знаю. Вы можете попробовать спросить на своем форуме. Эта тема, похоже, связана с вашей проблемой: http://forums.mysql.com/read.php?169,647447,647447 # msg-647447 – Anders