• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 70, 文章 - 0, 評論 - 9, 引用 - 0
            數據加載中……

            nsis制作postgresql安裝包

            postgresql提供了安裝文件(exe)和壓縮包文件(zip),有時我們希望在安裝完成后針對某些軟件做一些數據庫的初始化操作。所以有必要制作一個自己的postgresql安裝包。以下說一下nsis制作postgresql的注意事項。
            1  官方下載postgresql壓縮包(zip),而非exe安裝包
            2  下載nsis,nsis edit,ZIPDLL(用來解壓zip)
            其它用代碼直接說明。


            ; Script generated by the HM NIS Edit Script Wizard.

            ; HM NIS Edit Wizard helper defines
            !define PRODUCT_NAME "xtuple380"
            !define PRODUCT_VERSION "1.0"
            !define PRODUCT_PUBLISHER "seahouse"
            !define PRODUCT_WEB_SITE "http://m.shnenglu.com/seahouse/"
            !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
            !define PRODUCT_UNINST_ROOT_KEY "HKLM"

            ; MUI 
            1.67 compatible ------
            !include "MUI.nsh"
            !include "ZipDLL.nsh"

            ; MUI Settings
            !define MUI_ABORTWARNING
            !define MUI_ICON "F:\xtuple\src\xtuple380\xtuple\guiclient\xTuple.ico"
            !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

            ; Welcome page
            !insertmacro MUI_PAGE_WELCOME
            ; License page
            !insertmacro MUI_PAGE_LICENSE "F:\infor\Dropbox\Dropbox\xTuple\docs\licence.txt"
            ; Components page
            !insertmacro MUI_PAGE_COMPONENTS
            ; Directory page
            !insertmacro MUI_PAGE_DIRECTORY
            ; Instfiles page
            !insertmacro MUI_PAGE_INSTFILES
            ; Finish page
            !insertmacro MUI_PAGE_FINISH

            ; Uninstaller pages
            !insertmacro MUI_UNPAGE_INSTFILES

            ; Language files
            !insertmacro MUI_LANGUAGE "SimpChinese"

            ; MUI end 
            ------

            Name 
            "${PRODUCT_NAME} ${PRODUCT_VERSION}"
            OutFile 
            "xtuple-setup.exe"
            InstallDir 
            "$PROGRAMFILES\xtuple380"
            ShowInstDetails show
            ShowUnInstDetails show

            Section 
            "postgresql9.0.7" SEC01
              SetOutPath 
            "$INSTDIR"
              SetOverwrite ifnewer
              File 
            "..\develop\postgresql-9.0.7-1-windows-binaries.zip"
              File 
            "F:\infor\Dropbox\Dropbox\xTuple\docs\installpackage\initdb.bat"
              File 
            "F:\infor\Dropbox\Dropbox\xTuple\docs\installpackage\pw.txt"
              File 
            "F:\infor\Dropbox\Dropbox\xTuple\docs\installpackage\uninstall.bat"
              File 
            "F:\infor\Dropbox\Dropbox\xTuple\docs\installpackage\userinit.bat"
              File 
            "F:\infor\Dropbox\Dropbox\xTuple\docs\installpackage\userinit.txt"
              ; ZipDLL::extractall 
            "..\develop\postgresql-9.0.7-1-windows-binaries.zip" "c:\output"

              ; Use ZipDLL plugin
              
            !insertmacro ZIPDLL_EXTRACT "$INSTDIR\postgresql-9.0.7-1-windows-binaries.zip" "$INSTDIR" "<ALL>"
              Delete 
            "$INSTDIR\postgresql-9.0.7-1-windows-binaries.zip"
              
              ; Set System env
              ReadRegStr $
            0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"
              WriteRegExpandStr HKLM 
            "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$0;$INSTDIR\pgsql\bin"
              ; refresh env
              SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 
            0 "STR::Environment"
              ; init db by command line
              ; nsExec::ExecToLog 
            'cmd.exe pgsql\bin\initdb.exe -D pgsql\data -E UTF-8 --locale=chs  -U postgres -W'
              ; nsExec::ExecToLog 
            'cmd.exe /c "$INSTDIR\pgsql\bin\httpd.exe" -D "$INSTDIR\pgsql\data" -E UTF-8 --locale=chs  -U postgres -W'
              ; ExecWait 
            'commandpromt pgsql\bin\initdb.exe -D pgsql\data -E UTF-8 --locale=chs -U postgres -W'
              ExecWait 
            'initdb.bat'
              ; ReadEnvStr $R0 COMSPEC
              ; nsExec::Exec 
            'commandpromt "$INSTDIR\pgsql\bin\initdb.exe" -D "$INSTDIR\pgsql\data" -E UTF-8 --locale=chs -U postgres -W'
              
              ; init user role and restore database from qucikstart
              ExecWait 
            'userinit.bat'
            SectionEnd

            Section 
            "xtuple380" SEC02
              File 
            "..\..\xTuple-3.8.0-Windows-release.zip"
              
              ; Use ZipDLL plugin
              
            !insertmacro ZIPDLL_EXTRACT "$INSTDIR\xTuple-3.8.0-Windows-release.zip" "$INSTDIR" "<ALL>"
              Delete 
            "$INSTDIR\xTuple-3.8.0-Windows-release.zip"
              
                ; Set System env
              ReadRegStr $
            0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"
              WriteRegExpandStr HKLM 
            "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$0;$INSTDIR\xTuple-3.8.0-Windows-release"
              ; refresh env
              SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 
            0 "STR::Environment"
            SectionEnd

            Section 
            -AdditionalIcons
              WriteIniStr 
            "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
              CreateDirectory 
            "$SMPROGRAMS\xtuple380"
              CreateShortCut 
            "$SMPROGRAMS\xtuple380\xtuple.lnk" "$INSTDIR\xTuple-3.8.0-Windows-release\xtuple.exe"
              CreateShortCut 
            "$SMPROGRAMS\xtuple380\pgAdmin3.lnk" "$INSTDIR\pgsql\bin\pgAdmin3.exe"
              CreateShortCut 
            "$SMPROGRAMS\xtuple380\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
              CreateShortCut 
            "$SMPROGRAMS\xtuple380\Uninstall.lnk" "$INSTDIR\uninst.exe"
              
              ; desktop shortcut
              CreateShortCut 
            "$desktop\xtuple.lnk" "$INSTDIR\xTuple-3.8.0-Windows-release\xtuple.exe"
            SectionEnd

            Section 
            -Post
              WriteUninstaller 
            "$INSTDIR\uninst.exe"
              WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} 
            "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
              WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} 
            "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
              WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} 
            "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
              WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} 
            "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
              WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} 
            "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
            SectionEnd

            ; Section descriptions
            !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
              
            !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "數據庫服務組件。"
              
            !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "客戶端軟件。"
            !insertmacro MUI_FUNCTION_DESCRIPTION_END


            Function un.onUninstSuccess
              HideWindow
              MessageBox MB_ICONINFORMATION
            |MB_OK "$(^Name) 已成功地從你的計算機移除。"
            FunctionEnd

            Function un.onInit
              MessageBox MB_ICONQUESTION
            |MB_YESNO|MB_DEFBUTTON2 "你確實要完全移除 $(^Name) ,其及所有的組件?" IDYES +2
              Abort
            FunctionEnd

            Section Uninstall
              ; etc uninstall system service
              ExecWait 
            'uninstall.bat'

              Delete 
            "$INSTDIR\${PRODUCT_NAME}.url"
              Delete 
            "$INSTDIR\uninst.exe"

              Delete 
            "$SMPROGRAMS\xtuple380\xtuple.lnk"
              Delete 
            "$SMPROGRAMS\xtuple380\pgAdmin3.lnk"
              Delete 
            "$SMPROGRAMS\xtuple380\Uninstall.lnk"
              Delete 
            "$SMPROGRAMS\xtuple380\Website.lnk"
              Delete 
            "$desktop\xtuple.lnk"

              RMDir 
            "$SMPROGRAMS\xtuple380"
              RMDir 
            /"$INSTDIR"

              DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} 
            "${PRODUCT_UNINST_KEY}"
              SetAutoClose 
            true
            SectionEnd

            posted on 2012-04-17 10:03 seahouse 閱讀(1238) 評論(0)  編輯 收藏 引用 所屬分類: 開源

            久久综合久久综合亚洲| 久久久久AV综合网成人| 久久精品国产色蜜蜜麻豆| 国产成人精品久久一区二区三区av | 欧美午夜精品久久久久免费视| 亚洲国产精品无码久久SM| 久久91精品久久91综合| 性做久久久久久免费观看| 狠狠88综合久久久久综合网| 久久电影网2021| 久久免费看黄a级毛片| 久久99精品国产一区二区三区 | 青青青青久久精品国产| 久久最新免费视频| 精品久久久久久亚洲| 精品综合久久久久久98| 久久国产成人午夜AV影院| 久久Av无码精品人妻系列| 亚洲国产精品综合久久网络| 日韩精品久久久久久| 日本欧美久久久久免费播放网| 狠狠色综合久久久久尤物| 国产精品九九九久久九九| 国内精品久久久久影院亚洲| 久久久99精品成人片中文字幕| 99久久99这里只有免费的精品| 伊人久久国产免费观看视频| 岛国搬运www久久| 国产精品久久久久AV福利动漫| 久久久国产打桩机| 久久久艹| 久久免费视频一区| 狠狠人妻久久久久久综合蜜桃| 久久777国产线看观看精品| 国产精品岛国久久久久| 精品亚洲综合久久中文字幕| 国产99精品久久| 久久综合久久久| 久久乐国产精品亚洲综合| 欧美日韩成人精品久久久免费看| 久久久久国产精品麻豆AR影院|