summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Liddell <chris.liddell@artifex.com>2018-09-10 17:05:47 +0100
committerChris Liddell <chris.liddell@artifex.com>2018-09-10 17:13:28 +0100
commit57c41b4d49ff949503f7d29a0f3dea0504b9e45e (patch)
tree4b2c84f1eda3965cb719b32abbe267e420a04321
parenteb1d28f6937f3692facc2f09ce540f5aa313380b (diff)
downloadghostpdl-57c41b4d49ff949503f7d29a0f3dea0504b9e45e.tar.gz
Bug 699753: Windows uninstall: remove all installed files etc
This was partly caused by a subtlety of the nsis installer syntax which means the '/r' option for the 'File' operation will match and install all files/directories in the file heirarchy that match the search term, unless they are explicitly excluded. For example: File /r doc will end up matching: doc/ something/doc another/thing/doc So, ensure we exclude subtrees so we no longer accidentally include files we don't intend. Also, add the missing removals, so we do remove eveything we intended to install. Lastly add in (and include removal of!) the Resource/* tree, and the iccprofiles directories - both of which users have asked to be included.
-rw-r--r--psi/nsisinst.nsi17
1 files changed, 14 insertions, 3 deletions
diff --git a/psi/nsisinst.nsi b/psi/nsisinst.nsi
index d0ca616c5..e7ef7decc 100644
--- a/psi/nsisinst.nsi
+++ b/psi/nsisinst.nsi
@@ -173,9 +173,13 @@ Section "" ; (default section)
SetOutPath "$INSTDIR"
CreateDirectory "$INSTDIR\bin"
; add files / whatever that need to be installed here.
-File /r /x contrib /x lcms /x lcms2 /x expat /x .svn doc
-File /r /x zlib /x expat /x .svn /x lcms2 examples
-File /r /x contrib /x expat /x luratech /x lwf_jp2 /x lcms /x lcms2 /x .svn /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 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 /oname=lib\gssetgs.bat .\lib\gssetgs${WINTYPE}.bat
File /oname=bin\gsdll${WINTYPE}.dll .\bin\gsdll${WINTYPE}.dll
File /oname=bin\gsdll${WINTYPE}.lib .\bin\gsdll${WINTYPE}.lib
@@ -257,12 +261,19 @@ DeleteRegKey HKEY_LOCAL_MACHINE "Software\GPL Ghostscript\${VERSION}"
RMDir /r "$INSTDIR\doc"
RMDir /r "$INSTDIR\examples"
RMDir /r "$INSTDIR\lib"
+RMDir /r "$INSTDIR\Resource"
+RMDir /r "$INSTDIR\iccprofiles"
Delete "$INSTDIR\bin\gsdll${WINTYPE}.dll"
Delete "$INSTDIR\bin\gsdll${WINTYPE}.lib"
Delete "$INSTDIR\bin\gswin${WINTYPE}.exe"
Delete "$INSTDIR\bin\gswin${WINTYPE}c.exe"
RMDir "$INSTDIR\bin"
RMDir "$INSTDIR"
+!if "${WINTYPE}" == "64"
+RMDir "$PROGRAMFILES64\gs"
+!else
+RMDir "$PROGRAMFILES\gs"
+!endif
SectionEnd ; end of uninstall section
; eof