home *** CD-ROM | disk | FTP | other *** search
Wrap
;-----Prerequisites------------------- !ifdef HAVE_UPX !packhdr tmp.dat "upx\upx -9 tmp.dat" !endif !ifdef NOCOMPRESS SetCompress off !endif ;-----Defines------------------------- ;-------Version and Build Info---------- !define MYNAME "Sambar Server" !define VER_MAJOR 7 !define VER_MINOR 0 !define VER_SUFFIX "p" ; set this to "" for production releases !define VER_TYPE "Production" ; and this to "Production" !define BUILD_TYPE "latest" ;-------System------------------------ !define SMenu "\ $SMPROGRAMS\${MYNAME}" !define REG_KEY "\ Software\Sambar Technologies\${MYNAME}" !define UNINSTALL_REG_KEY "\ SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${MYNAME}" !define COMPONENT_TEXT "This will install the ${MYNAME} \ Version ${VER_MAJOR}.${VER_MINOR} ${VER_TYPE} on your computer." ;-------Main-------------------------- Name "${MYNAME}" Caption "${MYNAME} ${VER_MAJOR}.${VER_MINOR} ${VER_TYPE} - Setup" OutFile "sambar${VER_MAJOR}${VER_MINOR}${VER_SUFFIX}.exe" Icon "bin\favicon.ico" # Both Icons *MUST* be of UninstallIcon "bin\favicon.ico" # the very same structure !ifndef NOINSTTYPES InstType "Full Install" InstType "Compact (no Sample Code)" InstType "Upgrade (Executables Only)" !endif WindowIcon off InstallColors /windows AutoCloseWindow false SetOverwrite on SetDateSave on ;-----Defines--------------------------- AllowRootDirInstall false DirText "Select the location to install ${MYNAME}:" InstallDir "$EXEDIR\sambar${VER_MAJOR}${VER_MINOR}" InstallDirRegKey HKLM "${REG_KEY}" "Installation Dir" LicenseText "You must read and acknowledge the following license prior to installing:" LicenseData license.txt ComponentText "${COMPONENT_TEXT}" ;-------Sections---------------------- Section "README.TXT (required)" SectionIn 1 2 3 RO SetOutPath - SetOverwrite on File readme.txt File install.txt File license.txt File sambar.nsi SectionEnd Section "bin (required)" SectionIn 1 2 3 RO SetOutPath - SetOverwrite on File /r bin File /r lib File /r include File /r messages SetOverwrite off SetOutPath "$INSTDIR\tmp" File tmp\README.TXT SetOutPath "$INSTDIR\log" File log\README.TXT SectionEnd Section "sysadmin (required)" SectionIn 1 2 3 RO SetOutPath - SetOverwrite on File /r sysadmin File /r sysimage File /r sysmgr File /r sysuser File /r syssoap SectionEnd Section "config (no-overwrite)" SectionIn 1 2 SetOverwrite off SetOutPath - File /r config SectionEnd Section "config/globals.c (overwrite)" SectionIn 1 2 3 SetOverwrite on SetOutPath - SetOutPath "$INSTDIR\config" File config\globals.c SectionEnd Section "syshelp (recommended)" SectionIn 1 2 SetOutPath - SetOverwrite on File /r syshelp File /r search SectionEnd Section "docs (recommended)" SectionIn 1 2 SetOverwrite off SetOutPath - File /r docs SectionEnd Section "Perl and CGI Samples" SectionIn 1 SetOverwrite off SetOutPath - File /r cgi-bin File /r cgi-win File /r perl File /r servlets SetOutPath "$INSTDIR\tmp" File tmp\index File tmp\samples SectionEnd Section "DLL code Samples" SectionIn 1 SetOutPath - SetOverwrite on File /r samples SectionEnd Section "Start Menu + Desktop Icons" SectionIn 1 2 3 SetOutPath "${SMenu}" Delete "${SMenu}\${MYNAME} ${VER_MAJOR}.${VER_MINOR}.com.lnk" Delete "${SMenu}\sambar.com.lnk" Delete "${SMenu}\Documentation.lnk" Delete "${SMenu}\Installation Directory.lnk" WriteINIStr "${SMenu}\sambar.com.url" \ "InternetShortcut" "URL" "http://www.sambar.com/" CreateShortCut "${SMenu}\README.lnk" \ "$INSTDIR\README.TXT" CreateShortCut "${SMenu}\Documentation.lnk" \ "$INSTDIR\syshelp\index.htm" CreateShortCut "${SMenu}\Installation Directory.lnk" \ "$INSTDIR" CreateShortCut "${SMenu}\Uninstall Sambar.lnk" \ "$INSTDIR\uninst-sambar.exe" SetOutPath - CreateShortCut "$DESKTOP\${MYNAME} ${VER_MAJOR}.${VER_MINOR}.lnk" "$INSTDIR\bin\server.exe" '-b' SectionEnd Section -post SetOutPath "$INSTDIR\bin" File bin\favicon.ico ClearErrors WriteRegStr HKLM "${REG_KEY}" "Installation Dir" "$INSTDIR" IfErrors WriteRegStr_error WriteRegStr HKLM "${REG_KEY}" "Sambar Version Major" "${VER_MAJOR}" IfErrors WriteRegStr_error WriteRegStr HKLM "${REG_KEY}" "Sambar Version Minor" "${VER_MINOR}" IfErrors WriteRegStr_error WriteRegStr HKLM "${REG_KEY}" "Sambar Version Type" "${VER_TYPE}" IfErrors WriteRegStr_error WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "DisplayIcon" "$INSTDIR\bin\favicon.ico" IfErrors WriteRegStr_error WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "DisplayName" "${MYNAME}" IfErrors WriteRegStr_error WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "DisplayVersion" "${VER_MAJOR}.${VER_MINOR} ${VER_TYPE}" IfErrors WriteRegStr_error WriteRegDWORD HKLM "${UNINSTALL_REG_KEY}" \ "VersionMajor" "${VER_MAJOR}" IfErrors WriteRegStr_error WriteRegDWORD HKLM "${UNINSTALL_REG_KEY}" \ "VersionMinor" "${VER_MINOR}" IfErrors WriteRegStr_error ; WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "HelpLink" "http://www.sambar.com/" ; IfErrors WriteRegStr_error ; WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "HelpTelephone" "" ; IfErrors WriteRegStr_error WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "InstallLocation" "$INSTDIR" IfErrors WriteRegStr_error WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "InstallSource" "$EXEDIR" IfErrors WriteRegStr_error ; WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "ModifyPath" "" # reinstall link herein ; IfErrors WriteRegStr_error WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "Publisher" "Sambar Technologies" IfErrors WriteRegStr_error ; WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "ProductID" "" ; IfErrors WriteRegStr_error ; WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "RegOwner" "" ; IfErrors WriteRegStr_error ; WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "RegCompany" "" ; IfErrors WriteRegStr_error WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "UninstallString" "$INSTDIR\uninst-sambar.exe" IfErrors WriteRegStr_error WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "URLInfoAbout" "http://www.sambar.com/" IfErrors WriteRegStr_error WriteRegStr HKLM "${UNINSTALL_REG_KEY}" \ "URLUpdateInfo" "http://localhost/sysadmin/system/dist/check.asp?package=${BUILD_TYPE}" IfErrors WriteRegStr_error WriteRegDWORD HKLM "${UNINSTALL_REG_KEY}" "NoModify" 1 IfErrors WriteRegStr_error WriteRegDWORD HKLM "${UNINSTALL_REG_KEY}" "NoRepair" 1 IfErrors WriteRegStr_error Goto WriteRegStr_out WriteRegStr_error: MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "\ Could not write information to the registry! \ Please tell the tod@sambar.com!" WriteRegStr_out: Delete $INSTDIR\uninst-sambar.exe WriteUninstaller $INSTDIR\uninst-sambar.exe SectionEnd ;-------Uninstaller------------------- !ifndef NO_UNINST 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!" ShowUninstDetails show Section Uninstall IfFileExists $INSTDIR\bin\server.exe skip_confirmation MessageBox MB_YESNO "\ It does not appear that the ${MYNAME} is installed in \ the directory '$INSTDIR'.$\r$\nContinue anyway (not \ recommended)" IDYES skip_confirmation Abort "Uninstall aborted by user" skip_confirmation: DeleteRegKey HKLM "${REG_KEY}" DeleteRegKey HKLM "${UNINSTALL_REG_KEY}" RMDir "${SMenu}" Delete "$DESKTOP\${MYNAME} ${VER_MAJOR}.${VER_MINOR}.lnk" RMDir /r $INSTDIR IfFileExists $INSTDIR 0 Removed MessageBox MB_OK|MB_ICONEXCLAMATION "\ Note: $INSTDIR could not be removed." Removed: SectionEnd ShowInstDetails show !endif ;-----Functions----------------------- Function .onInit MessageBox MB_YESNO "${COMPONENT_TEXT} \ Do you wish to continue?" IDYES +2 Abort FunctionEnd Function .onInstSuccess MessageBox MB_YESNO|MB_ICONQUESTION "\ Setup has completed. View readme file now?" \ IDNO NoReadme ExecShell open '$INSTDIR\readme.txt' NoReadme: FunctionEnd Function .onInstFailed MessageBox MB_OK|MB_ICONSTOP "\ Setup has FAILED! Please take care afterwards." FunctionEnd ;-----Uninstaller Functions----------- Function un.onInit MessageBox MB_YESNO "\ This will uninstall the ${MYNAME} from your computer. \ Do you wish to continue?" IDYES +2 Abort FunctionEnd Function un.onUninstSuccess MessageBox MB_OK|MB_ICONINFORMATION "\ Uninstall has completed. Thank you for using ${MYNAME}." FunctionEnd Function un.onUninstFailed MessageBox MB_OK|MB_ICONSTOP "\ Uninstall has FAILED. Please take care afterwards." FunctionEnd