2016-10-10 101 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?

更新:

我嘗試了很多不同的命令,發現沒有我沒有安裝完整的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

通過以文件here的形式執行MySQLInstallerConsole,可能會繼續安裝,但獲得.msi執行安裝並執行此操作當然要好得多,因爲您需要找出要傳遞給的正確參數MSIEXEC。

這些參數僅爲.msi的作者所知,我很難在MySQL網站上找到它的文檔。我發現任何有用的信息的唯一地方是在安裝程序發行說明中!

我發現一些對installdirdatadir參數here的引用。我不確定這些是否是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