diff options
Diffstat (limited to 'psi/nsisinst.nsi')
-rw-r--r-- | psi/nsisinst.nsi | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/psi/nsisinst.nsi b/psi/nsisinst.nsi index cd983927..404747b5 100644 --- a/psi/nsisinst.nsi +++ b/psi/nsisinst.nsi @@ -30,9 +30,19 @@ ; hand, it removes the short-cuts on Uninstall (which the Winzipse-based ; installer doesn't do) and also does not leave behind empty directories. +; Requirements: +; NSIS 3.0+ +; EnVar plug-in from https://nsis.sourceforge.io/EnVar_plug-in + ; Newer nsis releases deprecate ansi encoding, require Unicode Unicode True +!include 'LogicLib.nsh' + +SetCompressor /SOLID /FINAL lzma +XPStyle on +CRCCheck on + ; the following is from: http://nsis.sourceforge.net/StrRep !define StrRep "!insertmacro StrRep" !macro StrRep output string old new @@ -100,6 +110,16 @@ Unicode True !macroend !insertmacro Func_StrRep "" +Function WritePath + EnVar::SetHKLM + EnVar::AddValue "PATH" "$INSTDIR\bin" +FunctionEnd + +Function un.WritePath + EnVar::SetHKLM + EnVar::DeleteValue "PATH" "$INSTDIR\bin" +FunctionEnd + !ifndef TARGET !define TARGET gs899w32 !endif @@ -113,10 +133,6 @@ Unicode True !define COMPILE_INITS 0 !endif -SetCompressor /SOLID /FINAL lzma -XPStyle on -CRCCheck on - !include "MUI2.nsh" ; for detecting if running on x64 machine. !include "x64.nsh" @@ -201,11 +217,11 @@ Section "" ; (default section) SetOutPath "$INSTDIR" CreateDirectory "$INSTDIR\bin" ; add files / whatever that need to be installed here. -File /r /x arch /x base /x cups /x contrib /x devices /x expat /x freetype /x gpdl /x ijs /x ios /x jbig2dec /x jpeg /x jpegxr /x lcms2mt /x lib /x libpng /x man /x obj /x openjpeg /x pcl /x psi /x tiff /x toolbin /x windows /x xps /x zlib doc -File /r /x arch /x base /x cups /x contrib /x devices /x expat /x freetype /x gpdl /x ijs /x ios /x jbig2dec /x jpeg /x jpegxr /x lcms2mt /x lib /x libpng /x man /x obj /x openjpeg /x pcl /x psi /x tiff /x toolbin /x windows /x xps /x zlib examples -File /r /x arch /x base /x cups /x contrib /x devices /x expat /x freetype /x gpdl /x ijs /x ios /x jbig2dec /x jpeg /x jpegxr /x lcms2mt /x libpng /x man /x obj /x openjpeg /x pcl /x psi /x tiff /x toolbin /x windows /x xps /x zlib /x lib/gssetgs.bat lib -File /r /x arch /x base /x cups /x contrib /x devices /x expat /x freetype /x gpdl /x ijs /x ios /x jbig2dec /x jpeg /x jpegxr /x lcms2mt /x lib /x libpng /x man /x obj /x openjpeg /x pcl /x psi /x tiff /x toolbin /x windows /x xps /x zlib Resource -File /r /x arch /x base /x cups /x contrib /x devices /x expat /x freetype /x gpdl /x ijs /x ios /x jbig2dec /x jpeg /x jpegxr /x lcms2mt /x lib /x libpng /x man /x obj /x openjpeg /x pcl /x psi /x tiff /x toolbin /x windows /x xps /x zlib iccprofiles +File /r /x arch /x base /x cups /x contrib /x devices /x expat /x freetype /x gpdl /x ijs /x ios /x jbig2dec /x jpeg /x jpegxr /x lcms2mt /x lib /x libpng /x man /x obj /x openjpeg /x pcl /x psi /x tiff /x toolbin /x windows /x xps /x zlib /x tesseract /x leptonica /x extract /x cal doc +File /r /x arch /x base /x cups /x contrib /x devices /x expat /x freetype /x gpdl /x ijs /x ios /x jbig2dec /x jpeg /x jpegxr /x lcms2mt /x lib /x libpng /x man /x obj /x openjpeg /x pcl /x psi /x tiff /x toolbin /x windows /x xps /x zlib /x tesseract /x leptonica /x extract /x cal examples +File /r /x arch /x base /x cups /x contrib /x devices /x expat /x freetype /x gpdl /x ijs /x ios /x jbig2dec /x jpeg /x jpegxr /x lcms2mt /x libpng /x man /x obj /x openjpeg /x pcl /x psi /x tiff /x toolbin /x windows /x xps /x zlib /x tesseract /x leptonica /x extract /x cal /x lib/gssetgs.bat lib +File /r /x arch /x base /x cups /x contrib /x devices /x expat /x freetype /x gpdl /x ijs /x ios /x jbig2dec /x jpeg /x jpegxr /x lcms2mt /x lib /x libpng /x man /x obj /x openjpeg /x pcl /x psi /x tiff /x toolbin /x windows /x xps /x zlib /x tesseract /x leptonica /x extract /x cal Resource +File /r /x arch /x base /x cups /x contrib /x devices /x expat /x freetype /x gpdl /x ijs /x ios /x jbig2dec /x jpeg /x jpegxr /x lcms2mt /x lib /x libpng /x man /x obj /x openjpeg /x pcl /x psi /x tiff /x toolbin /x windows /x xps /x zlib /x tesseract /x leptonica /x extract /x cal iccprofiles File /oname=lib\gssetgs.bat .\lib\gssetgs${WINTYPE}.bat @@ -235,11 +251,13 @@ WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninst WriteRegStr HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\GPL Ghostscript ${VERSION}" "DisplayVersion" "${VERSION}" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\GPL Ghostscript ${VERSION}" "NoModify" "1" WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\GPL Ghostscript ${VERSION}" "NoRepair" "1" + ; write out uninstaller WriteUninstaller "$INSTDIR\uninstgs.exe" SectionEnd ; end of default section Function .onInstSuccess + Call WritePath SetShellVarContext all CreateDirectory "$SMPROGRAMS\Ghostscript" CreateShortCut "$SMPROGRAMS\Ghostscript\Ghostscript ${VERSION}.LNK" "$INSTDIR\bin\gswin${WINTYPE}.exe" '"-I$INSTDIR\lib;$INSTDIR\..\fonts"' @@ -309,6 +327,7 @@ RMDir "$PROGRAMFILES64\gs" !else RMDir "$PROGRAMFILES\gs" !endif +Call un.WritePath SectionEnd ; end of uninstall section ; eof |