• <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
            數(shù)據(jù)加載中……

            nsis制作postgresql安裝包

            postgresql提供了安裝文件(exe)和壓縮包文件(zip),有時我們希望在安裝完成后針對某些軟件做一些數(shù)據(jù)庫的初始化操作。所以有必要制作一個自己的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} "數(shù)據(jù)庫服務組件。"
              
            !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 閱讀(1251) 評論(0)  編輯 收藏 引用 所屬分類: 開源

            韩国无遮挡三级久久| 中文字幕日本人妻久久久免费 | 久久精品视频免费| 久久96国产精品久久久| 一本色道久久88综合日韩精品 | 一本一本久久A久久综合精品| 成人妇女免费播放久久久| 久久久久国色AV免费观看| 亚洲精品乱码久久久久66| 日本三级久久网| 囯产极品美女高潮无套久久久 | 久久热这里只有精品在线观看| 精品久久久噜噜噜久久久| 色欲综合久久躁天天躁| 岛国搬运www久久| 欧美喷潮久久久XXXXx| 久久乐国产综合亚洲精品| 99久久免费只有精品国产| 狠狠色婷婷久久一区二区| 久久亚洲中文字幕精品一区四| 99精品国产在热久久无毒不卡| 久久久久亚洲AV无码专区首JN | 亚洲va中文字幕无码久久| 久久综合精品国产一区二区三区| 国产欧美一区二区久久| 久久婷婷五月综合97色| 大香伊人久久精品一区二区| 久久婷婷人人澡人人| 国内精品久久久久久久影视麻豆| 久久精品国产99国产精偷| 久久久久久久亚洲Av无码| 亚洲中文字幕无码久久2017| 国色天香久久久久久久小说| 久久久久久精品免费看SSS| 一级做a爰片久久毛片看看| 亚洲国产成人精品91久久久 | 亚洲中文字幕无码久久2020| 97精品国产97久久久久久免费| 久久久久久精品无码人妻| 亚洲精品无码久久久久久| 久久久久99精品成人片试看|