|
Packit |
f574b8 |
; $LynxId: lynx.nsi,v 1.44 2018/07/08 15:22:44 tom Exp $
|
|
Packit |
f574b8 |
; Script originally generated with the Venis Install Wizard, but customized.
|
|
Packit |
f574b8 |
; The Inno Setup script is preferred; but this can be built via cross-compiling.
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Define the application name
|
|
Packit |
f574b8 |
!define APPNAME "Lynx"
|
|
Packit |
f574b8 |
!define EXENAME "lynx.exe"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
!define VERSION_EPOCH "2"
|
|
Packit |
f574b8 |
!define VERSION_MAJOR "8"
|
|
Packit |
f574b8 |
!define VERSION_MINOR "9"
|
|
Packit |
f574b8 |
!define VERSION_LEVEL "01"
|
|
Packit |
f574b8 |
!define VERSION_PATCH "rel.1"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
!define SUBKEY "Lynx"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
!define INSTALL "Lynx - web browser"
|
|
Packit |
f574b8 |
!define VERSION "${VERSION_EPOCH}.${VERSION_MAJOR}.${VERSION_MINOR}${VERSION_PATCH}"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Main Install settings
|
|
Packit |
f574b8 |
Name "${INSTALL}"
|
|
Packit |
f574b8 |
InstallDir "$PROGRAMFILES\${INSTALL}"
|
|
Packit |
f574b8 |
InstallDirRegKey HKLM "Software\${SUBKEY}" "$INSTDIR\bin"
|
|
Packit |
f574b8 |
OutFile "NSIS-Output\${APPNAME}-${VERSION}-setup.exe"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
CRCCheck on
|
|
Packit |
f574b8 |
SetCompressor /SOLID lzma
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
VIAddVersionKey ProductName "${SUBKEY}"
|
|
Packit |
f574b8 |
VIAddVersionKey CompanyName "https://invisible-island.net/lynx"
|
|
Packit |
f574b8 |
VIAddVersionKey LegalCopyright "© 1997-2017,2018, Thomas E. Dickey"
|
|
Packit |
f574b8 |
VIAddVersionKey FileDescription "Lynx Installer (MinGW)"
|
|
Packit |
f574b8 |
VIAddVersionKey FileVersion "${VERSION}"
|
|
Packit |
f574b8 |
VIAddVersionKey ProductVersion "${VERSION}"
|
|
Packit |
f574b8 |
VIAddVersionKey Comments "This installer was built with NSIS and cross-compiling to MinGW."
|
|
Packit |
f574b8 |
VIAddVersionKey InternalName "setup-${APPNAME}-${VERSION}.exe"
|
|
Packit |
f574b8 |
VIProductVersion "${VERSION_EPOCH}.${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_LEVEL}"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; adapted from http://nsis.sourceforge.net/Readme_Page_Based_on_MUI_License_Page
|
|
Packit |
f574b8 |
!macro MUI_EXTRAPAGE_README UN TheFile
|
|
Packit |
f574b8 |
!define MUI_LICENSEPAGE_BUTTON "$(^NextBtn)"
|
|
Packit |
f574b8 |
!insertmacro MUI_${UN}PAGE_LICENSE "${TheFile}"
|
|
Packit |
f574b8 |
!macroend
|
|
Packit |
f574b8 |
!define ReadmeRun "!insertmacro MUI_EXTRAPAGE_README"
|
|
Packit |
f574b8 |
!macro MUI_PAGE_README TheFile
|
|
Packit |
f574b8 |
${ReadmeRun} "" "${TheFile}"
|
|
Packit |
f574b8 |
!macroend
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Modern interface settings
|
|
Packit |
f574b8 |
!include "MUI.nsh"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
!define MUI_ABORTWARNING
|
|
Packit |
f574b8 |
!define MUI_FINISHPAGE_RUN "$INSTDIR\${EXENAME}"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
!insertmacro MUI_PAGE_WELCOME
|
|
Packit |
f574b8 |
!insertmacro MUI_PAGE_LICENSE "..\COPYHEADER"
|
|
Packit |
f574b8 |
!insertmacro MUI_PAGE_README "..\README"
|
|
Packit |
f574b8 |
!insertmacro MUI_PAGE_COMPONENTS
|
|
Packit |
f574b8 |
!insertmacro MUI_PAGE_DIRECTORY
|
|
Packit |
f574b8 |
!insertmacro MUI_PAGE_INSTFILES
|
|
Packit |
f574b8 |
!insertmacro MUI_PAGE_FINISH
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
!insertmacro MUI_UNPAGE_CONFIRM
|
|
Packit |
f574b8 |
!insertmacro MUI_UNPAGE_INSTFILES
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Set languages (first is default language)
|
|
Packit |
f574b8 |
!insertmacro MUI_LANGUAGE "English"
|
|
Packit |
f574b8 |
!insertmacro MUI_RESERVEFILE_LANGDLL
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
!define LYNX_CFG "lynx.cfg"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
InstType "Full" ; SectionIn 1
|
|
Packit |
f574b8 |
InstType "Typical" ; SectionIn 2
|
|
Packit |
f574b8 |
InstType "Minimal" ; SectionIn 3
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
Section "${APPNAME}" Section1
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SectionIn 1 2 3
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Set Section properties
|
|
Packit |
f574b8 |
SetOverwrite on
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Set Section Files and Shortcuts
|
|
Packit |
f574b8 |
SetOutPath "$INSTDIR"
|
|
Packit |
f574b8 |
File /oname=${EXENAME} ".\bin\*${EXENAME}"
|
|
Packit |
f574b8 |
File ".\bin\bzip2.exe"
|
|
Packit |
f574b8 |
File ".\bin\gzip.exe"
|
|
Packit |
f574b8 |
File ".\bin\*.dll"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; TODO: bzip2.exe, gzip.exe, *.dll
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
CreateShortCut "$DESKTOP\${APPNAME}.lnk" "$INSTDIR\${EXENAME}"
|
|
Packit |
f574b8 |
CreateShortCut "$SENDTO\${APPNAME}.lnk" "$INSTDIR\${EXENAME}"
|
|
Packit |
f574b8 |
CreateDirectory "$SMPROGRAMS\${INSTALL}"
|
|
Packit |
f574b8 |
CreateShortCut "$SMPROGRAMS\${INSTALL}\${INSTALL}.lnk" "$INSTDIR\${EXENAME}"
|
|
Packit |
f574b8 |
CreateShortCut "$SMPROGRAMS\${INSTALL}\${APPNAME} - Help.lnk" "$INSTDIR\help\lynx_help_main.html"
|
|
Packit |
f574b8 |
CreateShortCut "$SMPROGRAMS\${INSTALL}\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
File ".\share\lynx_doc\samples\*.lss"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; preinstall lynx.cfg as a temporary file
|
|
Packit |
f574b8 |
File /oname=${LYNX_CFG} ".\etc\${LYNX_CFG}"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; at install-time, append our customization
|
|
Packit |
f574b8 |
FileOpen $0 "${LYNX_CFG}" a
|
|
Packit |
f574b8 |
FileSeek $0 0 END
|
|
Packit |
f574b8 |
FileWrite $0 "HELPFILE:$INSTDIR\help\Lynx_help_main.html.gz$\n"
|
|
Packit |
f574b8 |
FileWrite $0 "COLOR_STYLE:$INSTDIR\opaque.lss$\n"
|
|
Packit |
f574b8 |
FileWrite $0 "CHMOD_PATH:$\n"
|
|
Packit |
f574b8 |
FileWrite $0 "COPY_PATH:$\n"
|
|
Packit |
f574b8 |
FileWrite $0 "MKDIR_PATH:$\n"
|
|
Packit |
f574b8 |
FileWrite $0 "MV_PATH:$\n"
|
|
Packit |
f574b8 |
FileWrite $0 "RMDIR_PATH:$\n"
|
|
Packit |
f574b8 |
FileWrite $0 "RM_PATH:$\n"
|
|
Packit |
f574b8 |
FileWrite $0 "TOUCH_PATH:$\n"
|
|
Packit |
f574b8 |
FileClose $0
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
File "..\samples\lynx.bat"
|
|
Packit |
f574b8 |
File "..\samples\lynx-demo.cfg"
|
|
Packit |
f574b8 |
File "..\samples\oldlynx.bat"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
File "..\samples\jumps.htm"
|
|
Packit |
f574b8 |
File "..\samples\home.htm"
|
|
Packit |
f574b8 |
File "..\samples\lynx_bookmarks.htm"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SetOutPath "$INSTDIR\icon"
|
|
Packit |
f574b8 |
File "..\samples\lynx.ico"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SetOutPath "$INSTDIR\tmp"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SectionEnd
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
Section "documentation" Section2
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SectionIn 1 2
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Set Section properties
|
|
Packit |
f574b8 |
SetOverwrite on
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Set Section Files and Shortcuts
|
|
Packit |
f574b8 |
SetOutPath "$INSTDIR"
|
|
Packit |
f574b8 |
File "..\lynx.man"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SetOutPath "$INSTDIR\doc"
|
|
Packit |
f574b8 |
File ".\share\lynx_doc\CHANGES*.*"
|
|
Packit |
f574b8 |
File ".\share\lynx_doc\COPY*.*"
|
|
Packit |
f574b8 |
File ".\share\lynx_doc\PROBLEM*.*"
|
|
Packit |
f574b8 |
File ".\share\lynx_doc\README*.*"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SetOutPath "$INSTDIR\help"
|
|
Packit |
f574b8 |
File ".\share\lynx_help\*.*"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SetOutPath "$INSTDIR\help\keystrokes"
|
|
Packit |
f574b8 |
File ".\share\lynx_help\keystrokes\*.*"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SectionEnd
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
Section "samples" Section3
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SectionIn 1
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Set Section properties
|
|
Packit |
f574b8 |
SetOverwrite on
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Set Section Files and Shortcuts
|
|
Packit |
f574b8 |
SetOutPath "$INSTDIR\doc\samples"
|
|
Packit |
f574b8 |
File ".\share\lynx_doc\samples\*.*"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SetOutPath "$INSTDIR\doc\test"
|
|
Packit |
f574b8 |
File ".\share\lynx_doc\test\*.*"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SectionEnd
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
Section -FinishSection
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
WriteRegStr HKLM "Software\${SUBKEY}" "" "$INSTDIR"
|
|
Packit |
f574b8 |
WriteRegStr HKLM "Software\${SUBKEY}" "Environment" ""
|
|
Packit |
f574b8 |
WriteRegStr HKLM "Software\${SUBKEY}\Environment" "LYNX_CFG" "$INSTDIR\${LYNX_CFG}"
|
|
Packit |
f574b8 |
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL}" "DisplayName" "${INSTALL} ${VERSION}"
|
|
Packit |
f574b8 |
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL}" "UninstallString" "$INSTDIR\uninstall.exe"
|
|
Packit |
f574b8 |
WriteUninstaller "$INSTDIR\uninstall.exe"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SectionEnd
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Modern install component descriptions
|
|
Packit |
f574b8 |
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
|
Packit |
f574b8 |
!insertmacro MUI_DESCRIPTION_TEXT ${Section1} "${SUBKEY}"
|
|
Packit |
f574b8 |
!insertmacro MUI_DESCRIPTION_TEXT ${Section2} "Documentation"
|
|
Packit |
f574b8 |
!insertmacro MUI_DESCRIPTION_TEXT ${Section3} "Samples and Test-files."
|
|
Packit |
f574b8 |
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
;Uninstall section
|
|
Packit |
f574b8 |
Section Uninstall
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
;Remove from registry...
|
|
Packit |
f574b8 |
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL}"
|
|
Packit |
f574b8 |
DeleteRegKey HKLM "SOFTWARE\${SUBKEY}"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Delete self
|
|
Packit |
f574b8 |
Delete "$INSTDIR\uninstall.exe"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Delete Shortcuts
|
|
Packit |
f574b8 |
Delete "$DESKTOP\${APPNAME}.lnk"
|
|
Packit |
f574b8 |
Delete "$SENDTO\${APPNAME}.lnk"
|
|
Packit |
f574b8 |
Delete "$SMPROGRAMS\${INSTALL}\${INSTALL}.lnk"
|
|
Packit |
f574b8 |
Delete "$SMPROGRAMS\${INSTALL}\${APPNAME} - Help.lnk"
|
|
Packit |
f574b8 |
Delete "$SMPROGRAMS\${INSTALL}\Uninstall.lnk"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Clean up application
|
|
Packit |
f574b8 |
Delete "$INSTDIR\${EXENAME}"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\doc\samples\*.*"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\doc\test\*.*"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\doc\*.*"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\help\keystrokes\*.*"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\help\*.*"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\icon\*.*"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\tmp\*.*"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\bzip2.exe"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\gzip.exe"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\*.bat"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\*.cfg"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\*.dll"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\*.htm"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\*.man"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\*.lss"
|
|
Packit |
f574b8 |
Delete "$INSTDIR\*.tmp"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; Remove remaining directories
|
|
Packit |
f574b8 |
RMDir "$SMPROGRAMS\${INSTALL}"
|
|
Packit |
f574b8 |
RMDir "$INSTDIR\doc\samples"
|
|
Packit |
f574b8 |
RMDir "$INSTDIR\doc\test"
|
|
Packit |
f574b8 |
RMDir "$INSTDIR\doc"
|
|
Packit |
f574b8 |
RMDir "$INSTDIR\help\keystrokes"
|
|
Packit |
f574b8 |
RMDir "$INSTDIR\help"
|
|
Packit |
f574b8 |
RMDir "$INSTDIR\icon"
|
|
Packit |
f574b8 |
RMDir "$INSTDIR\tmp"
|
|
Packit |
f574b8 |
RMDir "$INSTDIR\"
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
SectionEnd
|
|
Packit |
f574b8 |
|
|
Packit |
f574b8 |
; eof
|