Files
harbour-core/package/mpkg_win.nsi
Aleksander Czajczynski 12f14227c2 2018-02-11 12:00 UTC+0100 Aleksander Czajczynski (hb fki.pl)
* README.md
  * config/global.mk
  * contrib/gtwvw/doc/gtwvw.txt
  * contrib/hbwin/tests/ole.prg
  * contrib/hbzebra/tests/cairo.prg
  * contrib/hbzebra/tests/harupdf.prg
  * contrib/hbzebra/tests/wingdi.prg
  * package/harbour-wce.spec.in
  * package/harbour-win.spec.in
  * package/harbour.rb
  * package/harbour.spec
  * package/mpkg_win.nsi
  * package/winuni/mpkg_win_uni.nsi
  * src/3rd/zlib/ChangeLog.txt
  * src/compiler/hbusage.c
  * src/pp/hbpp.c
  * tests/html.prg
    * changed Harbour Project website URL references to
      https://harbour.github.io/
      This change is very symbolic mark of time passing, but it had to be
      done. Original harbour-project.org domain went out from reach
      together with Phil Barnett passing away on April 16, 2015.
      Respect Phil, RIP.
      Phil's efforts are directly tied to The Harbour Project origins.
      To memorize him, please take a tour to archived The Oasis
      https://harbour.github.io/the-oasis/
2018-02-11 11:59:33 +01:00

173 lines
5.6 KiB
NSIS

; ---------------------------------------------------------------
; Copyright 2009 Viktor Szakats (vszakats.net/harbour)
; See LICENSE.txt for licensing terms.
;
; Harbour Nullsoft installer script (for Windows/MS-DOS)
; [ Do not try to use this script directly. It won't work. ]
;
; See README.md for further information.
; ---------------------------------------------------------------
SetCompressor /solid lzma
!include "MUI2.nsh"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\win.bmp"
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_FINISHPAGE_SHOWREADME 'notepad.exe "$\"$INSTDIR\README.md$\""'
!define MUI_ICON "harbour.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
SetDateSave on
SetDatablockOptimize on
CRCCheck on
RequestExecutionLevel user
; The name of the installer
Name "Harbour"
; The file to write
OutFile "$%HB_TOP%\$%HB_PKGNAME%.exe"
InstallDir C:\$%HB_PKGNAMI%
;--------------------------------
; Interface Settings
!define MUI_ABORTWARNING
;--------------------------------
; Pages
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE $(MUILicense)
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH
;--------------------------------
; Languages
!insertmacro MUI_LANGUAGE "English"
;--------------------------------
; License Language String
LicenseLangString MUILicense ${LANG_ENGLISH} "$%HB_INSTALL_PREFIX%\LICENSE.txt"
;--------------------------------
; The stuff to install
Section "Main components" hb_main
SectionIn RO
; Set output path to the installation directory.
SetOutPath $INSTDIR
File /nonfatal "$%HB_INSTALL_PREFIX%\LICENSE.txt"
File /nonfatal "$%HB_INSTALL_PREFIX%\README.md"
; Let it work also for MS-DOS packages where short filename is used here
File /nonfatal "$%HB_INSTALL_PREFIX%\Change*"
SetOutPath $INSTDIR\bin
File "$%HB_INSTALL_PREFIX%\bin\*.*"
SetOutPath $INSTDIR\lib
File /r "$%HB_INSTALL_PREFIX%\lib\*.*"
SetOutPath $INSTDIR\include
File "$%HB_INSTALL_PREFIX%\include\*.*"
SetOutPath $INSTDIR\doc
File "$%HB_INSTALL_PREFIX%\doc\*.*"
; Write the installation path into the registry
; WriteRegStr HKLM "SOFTWARE\Harbour" "InstallDir" "$INSTDIR"
WriteRegStr HKCU "Software\Harbour" "InstallDir" "$INSTDIR"
; Write the uninstall keys for Windows
; WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "DisplayName" "Harbour"
; WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "UninstallString" '"$INSTDIR\uninstall.exe"'
; WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "NoModify" 1
; WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Harbour" "NoRepair" 1
WriteUninstaller "uninstall.exe"
SectionEnd
; The stuff to install
Section "Examples" hb_examples
SectionIn RO
; Set output path to the installation directory.
SetOutPath $INSTDIR\tests
SectionEnd
; Optional section (can be disabled by the user)
Section "Start Menu and Desktop icons" hb_shortcuts
; this will be the working dir for shortcuts
SetOutPath $INSTDIR
CreateShortCut "$DESKTOP\Harbour.lnk" "$INSTDIR" "" "$INSTDIR" 0
CreateDirectory "$SMPROGRAMS\Harbour"
CreateShortCut "$SMPROGRAMS\Harbour\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\Harbour\Harbour (Command line).lnk" "cmd.exe" "/k cd $INSTDIR\bin" "cmd.exe" 0
CreateShortCut "$SMPROGRAMS\Harbour\Harbour.lnk" "$INSTDIR" "" "$INSTDIR" 0
CreateShortCut "$SMPROGRAMS\Harbour\Harbour (Interactive shell).lnk" "$INSTDIR\bin\hbrun.exe" "" "$INSTDIR\bin\hbrun.exe" 0
CreateDirectory "$SMPROGRAMS\Harbour\Links"
WriteINIStr "$SMPROGRAMS\Harbour\Links\Homepage.url" "InternetShortcut" "URL" "http://harbour.github.io/"
WriteINIStr "$SMPROGRAMS\Harbour\Links\Users' Mailing List.url" "InternetShortcut" "URL" "http://groups.google.com/group/harbour-users/"
WriteINIStr "$SMPROGRAMS\Harbour\Links\Developers' Mailing List.url" "InternetShortcut" "URL" "http://groups.google.com/group/harbour-devel/"
WriteINIStr "$SMPROGRAMS\Harbour\Links\Development.url" "InternetShortcut" "URL" "https://github.com/harbour"
WriteINIStr "$SMPROGRAMS\Harbour\Links\Development Timeline.url" "InternetShortcut" "URL" "https://github.com/harbour/core/commits/master"
SectionEnd
;--------------------------------
; Descriptions
; Language strings
LangString DESC_hb_main ${LANG_ENGLISH} "Main components"
LangString DESC_hb_shortcuts ${LANG_ENGLISH} "Add icons to Start Menu and Desktop"
LangString DESC_hb_examples ${LANG_ENGLISH} "Samples and tests"
; Assign language strings to sections
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${hb_main} $(DESC_hb_main)
!insertmacro MUI_DESCRIPTION_TEXT ${hb_shortcuts} $(DESC_hb_shortcuts)
!insertmacro MUI_DESCRIPTION_TEXT ${hb_examples} $(DESC_hb_examples)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;--------------------------------
; Uninstaller
Section "Uninstall"
; Remove files and uninstaller
RMDir /r $INSTDIR
; Remove directories used
Delete "$SMPROGRAMS\Harbour\Links\*.*"
RMDir "$SMPROGRAMS\Harbour\Links"
Delete "$SMPROGRAMS\Harbour\*.*"
RMDir "$SMPROGRAMS\Harbour"
RMDir "$INSTDIR"
Delete "$DESKTOP\Harbour.lnk"
; DeleteRegKey HKLM "SOFTWARE\Harbour"
DeleteRegKey HKCU "Software\Harbour"
SectionEnd