• <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 閱讀(1238) 評論(0)  編輯 收藏 引用 所屬分類: 開源

            久久国产免费观看精品| 热久久国产欧美一区二区精品 | 亚洲国产精品无码久久青草| 国产精品无码久久久久| 亚洲AV伊人久久青青草原| 欧美一区二区三区久久综合| 狠狠综合久久综合中文88| 91麻豆国产精品91久久久| 亚洲国产成人久久综合碰碰动漫3d| 狠狠色综合久久久久尤物| 色88久久久久高潮综合影院| 开心久久婷婷综合中文字幕| 浪潮AV色综合久久天堂| 一级a性色生活片久久无| 美女写真久久影院| 久久久久亚洲精品无码蜜桃| 亚洲一级Av无码毛片久久精品| 99久久精品国内| 久久久久久九九99精品| 午夜精品久久久内射近拍高清| 青青热久久综合网伊人| 亚洲精品乱码久久久久久蜜桃不卡 | 精品国产乱码久久久久久郑州公司| 久久福利片| 久久精品草草草| 久久电影网一区| avtt天堂网久久精品| 久久人人爽人人爽人人AV东京热| 97视频久久久| 久久精品国产亚洲AV不卡| 亚洲国产精品无码久久九九 | 国色天香久久久久久久小说 | 日本强好片久久久久久AAA| 少妇久久久久久被弄到高潮| 国产综合精品久久亚洲| 国内精品欧美久久精品| 久久综合狠狠综合久久激情 | 久久99久久99小草精品免视看| 久久噜噜电影你懂的| 一本久久久久久久| 久久亚洲国产成人精品无码区|