diff options
author | Chris Liddell <chris.liddell@artifex.com> | 2018-09-10 17:05:47 +0100 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2018-09-10 17:13:28 +0100 |
commit | 57c41b4d49ff949503f7d29a0f3dea0504b9e45e (patch) | |
tree | 4b2c84f1eda3965cb719b32abbe267e420a04321 | |
parent | eb1d28f6937f3692facc2f09ce540f5aa313380b (diff) | |
download | ghostpdl-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.nsi | 17 |
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 |