home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Servidores / sambar70p.exe / SAMBAR.NSI < prev   
Encoding:
Text File  |  2006-06-27  |  9.5 KB  |  318 lines

  1. ;-----Prerequisites-------------------
  2. !ifdef HAVE_UPX
  3. !packhdr tmp.dat "upx\upx -9 tmp.dat"
  4. !endif
  5.  
  6. !ifdef NOCOMPRESS
  7.   SetCompress off
  8. !endif
  9.  
  10. ;-----Defines-------------------------
  11.  
  12. ;-------Version and Build Info----------
  13. !define MYNAME     "Sambar Server"
  14. !define VER_MAJOR  7
  15. !define VER_MINOR  0
  16. !define VER_SUFFIX "p"     ; set this to "" for production releases
  17. !define VER_TYPE   "Production"  ; and this to "Production"
  18. !define BUILD_TYPE "latest"
  19. ;-------System------------------------
  20. !define SMenu "\
  21.   $SMPROGRAMS\${MYNAME}"
  22. !define REG_KEY "\
  23.   Software\Sambar Technologies\${MYNAME}"
  24. !define UNINSTALL_REG_KEY "\
  25.   SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${MYNAME}"
  26.  
  27. !define COMPONENT_TEXT "This will install the ${MYNAME} \
  28.   Version ${VER_MAJOR}.${VER_MINOR} ${VER_TYPE} on your computer."
  29. ;-------Main--------------------------
  30. Name "${MYNAME}"
  31. Caption "${MYNAME} ${VER_MAJOR}.${VER_MINOR} ${VER_TYPE} - Setup"
  32.  
  33. OutFile "sambar${VER_MAJOR}${VER_MINOR}${VER_SUFFIX}.exe"
  34.  
  35. Icon          "bin\favicon.ico" # Both Icons *MUST* be of
  36. UninstallIcon "bin\favicon.ico" # the very same structure
  37.  
  38. !ifndef NOINSTTYPES
  39.   InstType "Full Install"
  40.   InstType "Compact (no Sample Code)"
  41.   InstType "Upgrade (Executables Only)"
  42. !endif
  43.  
  44. WindowIcon off
  45. InstallColors /windows
  46. AutoCloseWindow false
  47. SetOverwrite on
  48. SetDateSave on
  49.  
  50. ;-----Defines---------------------------
  51. AllowRootDirInstall false
  52. DirText "Select the location to install ${MYNAME}:"
  53. InstallDir "$EXEDIR\sambar${VER_MAJOR}${VER_MINOR}"
  54. InstallDirRegKey HKLM "${REG_KEY}" "Installation Dir"
  55.  
  56. LicenseText "You must read and acknowledge the following license prior to installing:"
  57. LicenseData license.txt
  58.  
  59. ComponentText "${COMPONENT_TEXT}"
  60. ;-------Sections----------------------
  61.   Section "README.TXT (required)"
  62.     SectionIn 1 2 3 RO
  63.     SetOutPath -
  64.     SetOverwrite on
  65.     File readme.txt
  66.     File install.txt
  67.     File license.txt
  68.     File sambar.nsi
  69.   SectionEnd
  70.  
  71.   Section "bin (required)"
  72.     SectionIn 1 2 3 RO
  73.     SetOutPath -
  74.     SetOverwrite on
  75.     File /r bin
  76.     File /r lib
  77.     File /r include
  78.     File /r messages
  79.     SetOverwrite off
  80.     SetOutPath "$INSTDIR\tmp"
  81.     File tmp\README.TXT
  82.     SetOutPath "$INSTDIR\log"
  83.     File log\README.TXT
  84.   SectionEnd
  85.  
  86.   Section "sysadmin (required)"
  87.     SectionIn 1 2 3 RO
  88.     SetOutPath -
  89.     SetOverwrite on
  90.     File /r sysadmin
  91.     File /r sysimage
  92.     File /r sysmgr
  93.     File /r sysuser
  94.     File /r syssoap
  95.   SectionEnd
  96.  
  97.   Section "config (no-overwrite)"
  98.     SectionIn 1 2
  99.     SetOverwrite off
  100.     SetOutPath -
  101.     File /r config
  102.   SectionEnd
  103.  
  104.   Section "config/globals.c (overwrite)"
  105.     SectionIn 1 2 3
  106.     SetOverwrite on
  107.     SetOutPath -
  108.     SetOutPath "$INSTDIR\config"
  109.     File config\globals.c
  110.   SectionEnd
  111.  
  112.   Section "syshelp (recommended)"
  113.     SectionIn 1 2
  114.     SetOutPath -
  115.     SetOverwrite on
  116.     File /r syshelp
  117.     File /r search
  118.   SectionEnd
  119.  
  120.   Section "docs (recommended)"
  121.     SectionIn 1 2
  122.     SetOverwrite off
  123.     SetOutPath -
  124.     File /r docs
  125.   SectionEnd
  126.  
  127.   Section "Perl and CGI Samples"
  128.     SectionIn 1
  129.     SetOverwrite off
  130.     SetOutPath -
  131.     File /r cgi-bin
  132.     File /r cgi-win
  133.     File /r perl
  134.     File /r servlets
  135.     SetOutPath "$INSTDIR\tmp"
  136.     File tmp\index
  137.     File tmp\samples
  138.   SectionEnd
  139.  
  140.   Section "DLL code Samples"
  141.     SectionIn 1
  142.     SetOutPath -
  143.     SetOverwrite on
  144.     File /r samples
  145.   SectionEnd
  146.  
  147.   Section "Start Menu + Desktop Icons"
  148.     SectionIn 1 2 3
  149.     SetOutPath "${SMenu}"
  150.     Delete "${SMenu}\${MYNAME} ${VER_MAJOR}.${VER_MINOR}.com.lnk"
  151.  
  152.     Delete "${SMenu}\sambar.com.lnk"
  153.     Delete "${SMenu}\Documentation.lnk"
  154.     Delete "${SMenu}\Installation Directory.lnk"
  155.     WriteINIStr "${SMenu}\sambar.com.url" \
  156.                 "InternetShortcut" "URL" "http://www.sambar.com/"
  157.  
  158.     CreateShortCut "${SMenu}\README.lnk" \
  159.                    "$INSTDIR\README.TXT"
  160.     CreateShortCut "${SMenu}\Documentation.lnk" \
  161.                    "$INSTDIR\syshelp\index.htm"
  162.     CreateShortCut "${SMenu}\Installation Directory.lnk" \
  163.                    "$INSTDIR"
  164.     CreateShortCut "${SMenu}\Uninstall Sambar.lnk" \
  165.                    "$INSTDIR\uninst-sambar.exe"
  166.     SetOutPath -
  167.     CreateShortCut "$DESKTOP\${MYNAME} ${VER_MAJOR}.${VER_MINOR}.lnk" "$INSTDIR\bin\server.exe" '-b'
  168.   SectionEnd
  169.  
  170.   Section -post
  171.     SetOutPath "$INSTDIR\bin"
  172.     File bin\favicon.ico
  173.  
  174.     ClearErrors
  175.     WriteRegStr HKLM "${REG_KEY}" "Installation Dir" "$INSTDIR"
  176.       IfErrors WriteRegStr_error
  177.     WriteRegStr HKLM "${REG_KEY}" "Sambar Version Major" "${VER_MAJOR}"
  178.       IfErrors WriteRegStr_error
  179.     WriteRegStr HKLM "${REG_KEY}" "Sambar Version Minor" "${VER_MINOR}"
  180.       IfErrors WriteRegStr_error
  181.     WriteRegStr HKLM "${REG_KEY}" "Sambar Version Type" "${VER_TYPE}"
  182.       IfErrors WriteRegStr_error
  183.     WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  184.       "DisplayIcon" "$INSTDIR\bin\favicon.ico"
  185.       IfErrors WriteRegStr_error
  186.     WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  187.       "DisplayName" "${MYNAME}"
  188.       IfErrors WriteRegStr_error
  189.     WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  190.       "DisplayVersion" "${VER_MAJOR}.${VER_MINOR} ${VER_TYPE}"
  191.       IfErrors WriteRegStr_error
  192.     WriteRegDWORD HKLM "${UNINSTALL_REG_KEY}" \
  193.       "VersionMajor" "${VER_MAJOR}"
  194.       IfErrors WriteRegStr_error
  195.     WriteRegDWORD HKLM "${UNINSTALL_REG_KEY}" \
  196.       "VersionMinor" "${VER_MINOR}"
  197.       IfErrors WriteRegStr_error
  198.   ;  WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  199.       "HelpLink" "http://www.sambar.com/"
  200.   ;  IfErrors WriteRegStr_error
  201.   ;  WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  202.       "HelpTelephone" ""
  203.   ;    IfErrors WriteRegStr_error
  204.     WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  205.       "InstallLocation" "$INSTDIR"
  206.       IfErrors WriteRegStr_error
  207.     WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  208.       "InstallSource" "$EXEDIR"
  209.       IfErrors WriteRegStr_error
  210.   ;  WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  211.       "ModifyPath" ""    # reinstall link herein
  212.   ;    IfErrors WriteRegStr_error
  213.     WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  214.       "Publisher" "Sambar Technologies"
  215.     IfErrors WriteRegStr_error
  216.   ;  WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  217.       "ProductID" ""
  218.   ;    IfErrors WriteRegStr_error
  219.   ;  WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  220.       "RegOwner" ""
  221.   ;    IfErrors WriteRegStr_error
  222.   ;  WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  223.       "RegCompany" ""
  224.   ;    IfErrors WriteRegStr_error
  225.     WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  226.       "UninstallString" "$INSTDIR\uninst-sambar.exe"
  227.       IfErrors WriteRegStr_error
  228.     WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  229.       "URLInfoAbout" "http://www.sambar.com/"
  230.       IfErrors WriteRegStr_error
  231.     WriteRegStr   HKLM "${UNINSTALL_REG_KEY}" \
  232.       "URLUpdateInfo" "http://localhost/sysadmin/system/dist/check.asp?package=${BUILD_TYPE}"
  233.       IfErrors WriteRegStr_error
  234.     WriteRegDWORD HKLM "${UNINSTALL_REG_KEY}" "NoModify" 1
  235.       IfErrors WriteRegStr_error
  236.     WriteRegDWORD HKLM "${UNINSTALL_REG_KEY}" "NoRepair" 1
  237.       IfErrors WriteRegStr_error
  238.     Goto WriteRegStr_out
  239.     WriteRegStr_error:
  240.       MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "\
  241.       Could not write information to the registry! \
  242.       Please tell the tod@sambar.com!"
  243.     WriteRegStr_out:
  244.  
  245.     Delete $INSTDIR\uninst-sambar.exe
  246.     WriteUninstaller $INSTDIR\uninst-sambar.exe
  247.   SectionEnd
  248. ;-------Uninstaller-------------------
  249.   !ifndef NO_UNINST
  250.     UninstallText "This will uninstall the ${MYNAME} from your system.  IMPORTANT!  The entire ${INSTDIR} directory will be removed.  Backup any mail, config or docs files before continuing!"
  251.  
  252.     ShowUninstDetails show
  253.  
  254.     Section Uninstall
  255.       IfFileExists $INSTDIR\bin\server.exe skip_confirmation
  256.         MessageBox MB_YESNO "\
  257.         It does not appear that the ${MYNAME} is installed in \
  258.         the directory '$INSTDIR'.$\r$\nContinue anyway (not \
  259.         recommended)" IDYES skip_confirmation
  260.       Abort "Uninstall aborted by user"
  261.       skip_confirmation:
  262.  
  263.       DeleteRegKey HKLM "${REG_KEY}"
  264.       DeleteRegKey HKLM "${UNINSTALL_REG_KEY}"
  265.  
  266.       RMDir "${SMenu}"
  267.       Delete "$DESKTOP\${MYNAME} ${VER_MAJOR}.${VER_MINOR}.lnk"
  268.  
  269.       RMDir /r $INSTDIR
  270.  
  271.       IfFileExists $INSTDIR 0 Removed
  272.         MessageBox MB_OK|MB_ICONEXCLAMATION "\
  273.                    Note: $INSTDIR could not be removed."
  274.       Removed:
  275.     SectionEnd
  276.  
  277.       ShowInstDetails show
  278.   !endif
  279.  
  280. ;-----Functions-----------------------
  281. Function .onInit
  282.   MessageBox MB_YESNO "${COMPONENT_TEXT} \
  283.              Do you wish to continue?" IDYES +2
  284.   Abort
  285. FunctionEnd
  286.  
  287. Function .onInstSuccess
  288.   MessageBox MB_YESNO|MB_ICONQUESTION "\
  289.              Setup has completed. View readme file now?" \
  290.              IDNO NoReadme
  291.     ExecShell open '$INSTDIR\readme.txt'
  292.   NoReadme:
  293. FunctionEnd
  294.  
  295. Function .onInstFailed
  296.   MessageBox MB_OK|MB_ICONSTOP "\
  297.              Setup has FAILED! Please take care afterwards."
  298. FunctionEnd
  299.  
  300. ;-----Uninstaller Functions-----------
  301. Function un.onInit
  302.   MessageBox MB_YESNO "\
  303.              This will uninstall the ${MYNAME} from your computer. \
  304.              Do you wish to continue?" IDYES +2
  305.   Abort
  306. FunctionEnd
  307.  
  308. Function un.onUninstSuccess
  309.   MessageBox MB_OK|MB_ICONINFORMATION "\
  310.              Uninstall has completed. Thank you for using ${MYNAME}."
  311.  
  312. FunctionEnd
  313.  
  314. Function un.onUninstFailed
  315.   MessageBox MB_OK|MB_ICONSTOP "\
  316.              Uninstall has FAILED. Please take care afterwards."
  317. FunctionEnd
  318.