blob: 8cb443a0b0ee4bc1181c50bc0590dfb5b41db67c (
plain) (
tree)
|
|
; $LynxId: lynx.nsi,v 1.1 2013/10/09 01:02:56 tom Exp $
; Script originally generated with the Venis Install Wizard, but customized.
; The Inno Setup script is preferred; but this can be built via cross-compiling.
; Define the application name
!define APPNAME "Lynx"
!define EXENAME "lynx.exe"
!define VERSION_EPOCH "2"
!define VERSION_MAJOR "8"
!define VERSION_MINOR "8"
!define VERSION_LEVEL "17"
!define VERSION_PATCH "dev.17"
!define SUBKEY "Lynx"
!define INSTALL "Lynx - web browser"
!define VERSION "${VERSION_EPOCH}.${VERSION_MAJOR}.${VERSION_MINOR}${VERSION_PATCH}"
; Main Install settings
Name "${INSTALL}"
InstallDir "$PROGRAMFILES\${SUBKEY}"
InstallDirRegKey HKLM "Software\${SUBKEY}" "$INSTDIR\bin"
OutFile "NSIS-Output\${APPNAME}-${VERSION}-setup.exe"
CRCCheck on
SetCompressor /SOLID lzma
VIAddVersionKey ProductName "${SUBKEY}"
VIAddVersionKey CompanyName "Thomas E. Dickey"
VIAddVersionKey LegalCopyright "� 1997-2012,2013, Thomas E. Dickey"
VIAddVersionKey FileDescription "Lynx Installer (MinGW)"
VIAddVersionKey FileVersion "${VERSION}"
VIAddVersionKey ProductVersion "${VERSION}"
VIAddVersionKey Comments "This installer was built with NSIS and cross-compiling to MinGW."
VIAddVersionKey InternalName "setup-${APPNAME}-${VERSION}.exe"
VIProductVersion "${VERSION_EPOCH}.${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_LEVEL}"
; Modern interface settings
!include "MUI.nsh"
!define MUI_ABORTWARNING
!define MUI_FINISHPAGE_RUN "$INSTDIR\${EXENAME}"
!insertmacro MUI_PAGE_WELCOME
; FIXME "..\README"
!insertmacro MUI_PAGE_LICENSE "..\COPYHEADER"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
; Set languages (first is default language)
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_RESERVEFILE_LANGDLL
!define LYNX_CFG "lynx.cfg"
InstType "Full" ; SectionIn 1
InstType "Typical" ; SectionIn 2
InstType "Minimal" ; SectionIn 3
Section "${APPNAME}" Section1
SectionIn 1 2 3
; Set Section properties
SetOverwrite on
; Set Section Files and Shortcuts
SetOutPath "$INSTDIR"
File /oname=${EXENAME} ".\bin\*${EXENAME}"
; TODO: bzip2.exe, gzip.exe, *.dll
CreateShortCut "$DESKTOP\${APPNAME}.lnk" "$INSTDIR\${EXENAME}"
CreateShortCut "$SENDTO\${APPNAME}.lnk" "$INSTDIR\${EXENAME}"
CreateDirectory "$SMPROGRAMS\${INSTALL}"
CreateShortCut "$SMPROGRAMS\${INSTALL}\${APPNAME}.lnk" "$INSTDIR\${EXENAME}"
CreateShortCut "$SMPROGRAMS\${INSTALL}\Uninstall.lnk" "$INSTDIR\uninstall.exe"
File ".\share\lynx_doc\samples\*.lss"
File ".\etc\${LYNX_CFG}"
!appendfile "${LYNX_CFG}" "HELPFILE:${INSTDIR}\help\Lynx_help_main.html.gz$\n"
!appendfile "${LYNX_CFG}" "COLOR_STYLE:${INSTDIR}\opaque.lss$\n"
!appendfile "${LYNX_CFG}" "CHMOD_PATH:$\n"
!appendfile "${LYNX_CFG}" "COPY_PATH:$\n"
!appendfile "${LYNX_CFG}" "MKDIR_PATH:$\n"
!appendfile "${LYNX_CFG}" "MV_PATH:$\n"
!appendfile "${LYNX_CFG}" "RMDIR_PATH:$\n"
!appendfile "${LYNX_CFG}" "RM_PATH:$\n"
!appendfile "${LYNX_CFG}" "TOUCH_PATH:$\n"
!delfile "${LYNX_CFG}"
SectionEnd
Section "documentation" Section2
SectionIn 1 2
; Set Section properties
SetOverwrite on
; Set Section Files and Shortcuts
SetOutPath "$INSTDIR\doc"
File ".\share\lynx_doc\CHANGES*.*"
File ".\share\lynx_doc\COPY*.*"
File ".\share\lynx_doc\PROBLEM*.*"
File ".\share\lynx_doc\README*.*"
SetOutPath "$INSTDIR\help"
File ".\share\lynx_help\*.*"
SetOutPath "$INSTDIR\help\keystrokes"
File ".\share\lynx_help\keystrokes\*.*"
SectionEnd
Section "samples" Section3
SectionIn 1
; Set Section properties
SetOverwrite on
; Set Section Files and Shortcuts
SetOutPath "$INSTDIR\doc\samples"
File ".\share\lynx_doc\samples\*.*"
SetOutPath "$INSTDIR\doc\test"
File ".\share\lynx_doc\test\*.*"
SectionEnd
Section -FinishSection
WriteRegStr HKLM "Software\${SUBKEY}" "" "$INSTDIR"
WriteRegStr HKLM "Software\${SUBKEY}" "Environment" ""
WriteRegStr HKLM "Software\${SUBKEY}\Environment" "LYNX_CFG" "$INSTDIR\${LYNX_CFG}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL}" "DisplayName" "${INSTALL} ${VERSION}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL}" "UninstallString" "$INSTDIR\uninstall.exe"
WriteUninstaller "$INSTDIR\uninstall.exe"
SectionEnd
; Modern install component descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${Section1} "${SUBKEY}"
!insertmacro MUI_DESCRIPTION_TEXT ${Section2} "Documentation"
!insertmacro MUI_DESCRIPTION_TEXT ${Section3} "Samples and Test-files."
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;Uninstall section
Section Uninstall
;Remove from registry...
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${INSTALL}"
DeleteRegKey HKLM "SOFTWARE\${SUBKEY}"
; Delete self
Delete "$INSTDIR\uninstall.exe"
; Delete Shortcuts
Delete "$DESKTOP\${APPNAME}.lnk"
Delete "$SENDTO\${APPNAME}.lnk"
Delete "$SMPROGRAMS\${INSTALL}\${APPNAME}.lnk"
Delete "$SMPROGRAMS\${INSTALL}\Uninstall.lnk"
; Clean up application
Delete "$INSTDIR\${EXENAME}"
Delete "$INSTDIR\doc\samples\*.*"
Delete "$INSTDIR\doc\test\*.*"
Delete "$INSTDIR\doc\*.*"
Delete "$INSTDIR\help\keystrokes\*.*"
Delete "$INSTDIR\help\*.*"
Delete "$INSTDIR\icon\*.*"
Delete "$INSTDIR\tmp\*.*"
Delete "$INSTDIR\bzip2.exe"
Delete "$INSTDIR\gzip.exe"
Delete "$INSTDIR\*.bat"
Delete "$INSTDIR\*.cfg"
Delete "$INSTDIR\*.dll"
Delete "$INSTDIR\*.htm"
Delete "$INSTDIR\*.man"
Delete "$INSTDIR\*.lss"
; Remove remaining directories
RMDir "$SMPROGRAMS\${INSTALL}"
RMDir "$INSTDIR\doc\samples"
RMDir "$INSTDIR\doc\test"
RMDir "$INSTDIR\doc"
RMDir "$INSTDIR\help\keystrokes"
RMDir "$INSTDIR\help"
RMDir "$INSTDIR\icon"
RMDir "$INSTDIR\tmp"
RMDir "$INSTDIR\"
SectionEnd
; eof
|