• <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, 評(píng)論 - 9, 引用 - 0
            數(shù)據(jù)加載中……

            nsis制作postgresql安裝包

            postgresql提供了安裝文件(exe)和壓縮包文件(zip),有時(shí)我們希望在安裝完成后針對(duì)某些軟件做一些數(shù)據(jù)庫的初始化操作。所以有必要制作一個(gè)自己的postgresql安裝包。以下說一下nsis制作postgresql的注意事項(xiàng)。
            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://www.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} "數(shù)據(jù)庫服務(wù)組件。"
              
            !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "客戶端軟件。"
            !insertmacro MUI_FUNCTION_DESCRIPTION_END


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

            Function un.onInit
              MessageBox MB_ICONQUESTION
            |MB_YESNO|MB_DEFBUTTON2 "你確實(shí)要完全移除 $(^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) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 開源

            久久99国内精品自在现线| 久久Av无码精品人妻系列| 久久国产精品无码HDAV | 午夜天堂精品久久久久| 久久国产免费直播| 99国产欧美精品久久久蜜芽| 国产69精品久久久久9999| 婷婷久久综合| 久久er国产精品免费观看2| 婷婷久久五月天| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 日本加勒比久久精品| 久久久久久夜精品精品免费啦| 久久精品麻豆日日躁夜夜躁| 久久精品国产福利国产琪琪| 久久99国产综合精品女同| 九九热久久免费视频| 久久久青草久久久青草| 亚洲精品无码久久久久去q | 精品国产综合区久久久久久| 久久久久久亚洲AV无码专区| 亚洲欧洲精品成人久久曰影片| 91秦先生久久久久久久| 久久99久久99小草精品免视看 | 国产精品久久久久蜜芽| 三级韩国一区久久二区综合 | 1000部精品久久久久久久久| 久久久久久久久久久精品尤物| 久久国产影院| 久久99精品久久久久久噜噜| 国产精品一久久香蕉产线看| 青草国产精品久久久久久| 一本色综合网久久| 久久夜色精品国产噜噜麻豆| 精品久久久久久久国产潘金莲| 久久久久亚洲精品中文字幕| 国产精品久久久久免费a∨| 亚洲国产日韩欧美久久| 午夜精品久久影院蜜桃| 久久亚洲国产成人精品无码区| 久久精品国产一区二区三区不卡 |