• <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://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} "數據庫服務組件。"
              
            !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 閱讀(1231) 評論(0)  編輯 收藏 引用 所屬分類: 開源

            久久久无码精品亚洲日韩按摩 | 久久精品国产亚洲AV无码偷窥| 日本精品久久久久影院日本| 久久中文字幕视频、最近更新| 亚洲AⅤ优女AV综合久久久| 久久伊人精品一区二区三区| 久久久久免费看成人影片| 免费国产99久久久香蕉| 亚洲国产成人精品无码久久久久久综合 | 亚洲国产成人精品91久久久 | 久久国产热精品波多野结衣AV| 999久久久国产精品| 久久精品成人欧美大片| 国产精品丝袜久久久久久不卡 | 四虎国产精品成人免费久久| 精品国产一区二区三区久久久狼| 日韩欧美亚洲综合久久影院d3| 777久久精品一区二区三区无码 | 99久久99久久| 亚洲欧美久久久久9999| 亚洲国产精品久久| 久久久久久精品免费免费自慰| 999久久久免费国产精品播放| 久久久久免费精品国产| 久久久国产精品| 精品国产91久久久久久久| 中文字幕无码精品亚洲资源网久久| 久久久精品免费国产四虎| 无码精品久久久久久人妻中字| 美女久久久久久| 国产91久久综合| 久久精品国产一区二区三区日韩| 一本色道久久综合狠狠躁| 亚州日韩精品专区久久久| 久久久WWW成人免费毛片| 91精品免费久久久久久久久| 99久久人妻无码精品系列蜜桃| 看久久久久久a级毛片| 久久精品国产精品亚洲精品| 久久九九兔免费精品6| 国产精品久久新婚兰兰|