Dennis Schridde schreef: > Am Dienstag, 26. Dezember 2006 14:17 schrieb Giel van Schijndel: >> Christian Ohm schreef: >>> I just installed the Windows version on my sister's laptop to test the >>> 3D graphics (too slow for Warzone) and noticed there's no entry in the >>> list of installed software to uninstall it, just the start menu entry. >> Hmm, I've got a fairly good idea what causes it. If Dennis (think it is >> him that makes the NSIS-installer?) could show me the NSIS script then I >> might be able to help fix this, because I've created my own NSIS script >> as well, which _does_ show up in the Add/Remove list of software. >> >> How about including the NSIS script in the Subversion repository btw? > I just thought about it. Wait a sec... ;) Attached a patch that modifies the NSIS script.
Some annotations to the changes:
* Add a `Makefile.raw' to the data/ directory;
copied partially from Makefile.am in the same dir.
* Add a `Makefile.raw' to the nsis/ directory
this file defines the output filename of the executable through a
preprocessor-like definition on command line ("/DOUTFILE=$@");
secondly this file only executes if make's variable "PLATFORM" is
set to windows (in makerules/config.mk)
* Add both of these makefiles to the `Makefile.raw' in the root (/trunk/)
* Modifications to NSIS script:
* changed the NSIS script to incorporate the files from the repository
(so it is kind of integrated in the repository
* added some DLLs
(SDL.dll, SDL_net.dll, physfs.dll, vorbisfile.dll, ogg.dll,
vorbis.dll, png13.dll, zlib1.dll, jpeg6b.dll)
( *NOTE: I'm afraight that the current installer executable you're
distributing won't work without these DLLs* )
* added the uninstaller to the windows Add/Remove software section
* Then lastly some purist modifications:
* on all four modified files I've set svn:mime-type=text/plain and
svn:eol-style=native
Now if you place grim.wz in your data/ directory and have NSIS
(makensis(.exe) in particular) in your path a simple `mingw32-make -f
Makefile.raw' or `make -f Makefile.raw' should compile all and give you
a nice executable as result.
--
Giel
Index: data/Makefile.raw
===================================================================
--- data/Makefile.raw (revision 0)
+++ data/Makefile.raw (revision 0)
@@ -0,0 +1,34 @@
+MAKERULES=../makerules
+include $(MAKERULES)/configure.mk
+
+BASELIST = anims audio components effects features \
+ gamedesc.lev images messages misc multiplay novideo.rpl palette.bin
script \
+ sequenceaudio stats structs texpages wrf
+PATCHLIST = addon.lev anims audio components effects \
+ messages multiplay stats structs texpages wrf
+
+BASEARCHIVE=warzone.wz
+PATCHARCHIVE=mp.wz
+
+all: $(BASEARCHIVE) $(PATCHARCHIVE)
+
+ifeq ($(COMPRESS),)
+$(BASEARCHIVE):
+ zip -ru0 $@ $(BASELIST) -x *svn*
+ zip -T $@
+
+$(PATCHARCHIVE):
+ cd mp && zip -ru0 ../$@ $(PATCHLIST) -x *svn*
+ zip -T $@
+else
+$(BASEARCHIVE):
+ zip -ru9 $@ $(BASELIST) -x *svn*
+ zip -T $@
+
+$(PATCHARCHIVE):
+ cd mp && zip -ru9 ../$@ $(PATCHLIST) -x *svn*
+ zip -T $@
+endif
+
+clean:
+ $(RMF) $(BASEARCHIVE) $(PATCHARCHIVE)
Property changes on: data\Makefile.raw
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Index: Makefile.raw
===================================================================
--- Makefile.raw (revision 571)
+++ Makefile.raw (working copy)
@@ -1,4 +1,4 @@
-SUBDIRS=win32 lib src
+SUBDIRS=win32 lib src data nsis
all clean: $(SUBDIRS)
.PHONY: $(SUBDIRS)
@@ -6,3 +6,4 @@
$(MAKE) -f Makefile.raw -C $@ $(MAKECMDGOALS)
src: win32 lib
+nsis: data src
Index: nsis/Makefile.raw
===================================================================
--- nsis/Makefile.raw (revision 0)
+++ nsis/Makefile.raw (revision 0)
@@ -0,0 +1,14 @@
+MAKERULES=../makerules
+include $(MAKERULES)/configure.mk
+
+ifeq ($(PLATFORM),windows)
+SETUPFILE=Warzone\ 2100.exe
+
+all: $(SETUPFILE)
+
+$(SETUPFILE): warzone2100.nsi ../src/warzone2100.exe ../data/warzone.wz
../data/mp.wz ../data/grim.wz
+ makensis "/DDEVDIR=$(DEVDIR)" "/DOUTFILE=$@" $<
+
+clean:
+ $(RM) $(SETUPFILE)
+endif
Property changes on: nsis\Makefile.raw
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
Index: nsis/warzone2100.nsi
===================================================================
--- nsis/warzone2100.nsi (revision 571)
+++ nsis/warzone2100.nsi (working copy)
@@ -1,261 +1,295 @@
-;NSIS Modern User Interface
-;Warzone 2100 GPL Installer script
-;Written by Dennis Schridde
-
-;--------------------------------
-;Include Modern UI
-
- !include "MUI.nsh"
-
-;--------------------------------
-;General
-
- ;Name and file
- Name "Warzone 2100"
- OutFile "Warzone 2100.exe"
-
- ;Default installation folder
- InstallDir "$PROGRAMFILES\Warzone 2100"
-
- ;Get installation folder from registry if available
- InstallDirRegKey HKCU "Software\Warzone 2100" ""
-
- SetCompressor /FINAL /SOLID lzma
-
-;--------------------------------
-;Variables
-
- Var MUI_TEMP
- Var STARTMENU_FOLDER
-
-;--------------------------------
-;Interface Settings
-
- !define MUI_ABORTWARNING
-
- ; Settings for MUI_PAGE_LICENSE
- !define MUI_LICENSEPAGE_RADIOBUTTONS
-
- ;Start Menu Folder Page Configuration (for MUI_PAGE_STARTMENU)
- !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
- !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Warzone 2100"
- !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
-
- ; These indented statements modify settings for MUI_PAGE_FINISH
- !define MUI_FINISHPAGE_NOAUTOCLOSE
- !define MUI_FINISHPAGE_RUN
- !define MUI_FINISHPAGE_RUN_NOTCHECKED
- !define MUI_FINISHPAGE_RUN_TEXT $(TEXT_RunWarzone)
- !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink"
- !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
- !define MUI_FINISHPAGE_SHOWREADME $INSTDIR\Readme.txt
-
-;--------------------------------
-;Pages
-
- !insertmacro MUI_PAGE_WELCOME
- !insertmacro MUI_PAGE_LICENSE $(MUILicense)
- !insertmacro MUI_PAGE_COMPONENTS
- !insertmacro MUI_PAGE_DIRECTORY
- !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
- !insertmacro MUI_PAGE_INSTFILES
- !insertmacro MUI_PAGE_FINISH
-
- !insertmacro MUI_UNPAGE_WELCOME
- !insertmacro MUI_UNPAGE_CONFIRM
- !insertmacro MUI_UNPAGE_INSTFILES
- !insertmacro MUI_UNPAGE_FINISH
-
-;--------------------------------
-;Languages
-
- !insertmacro MUI_LANGUAGE "English" # first language is the default language
- !insertmacro MUI_LANGUAGE "German"
-
-;--------------------------------
-;License Language String
-
- LicenseLangString MUILicense ${LANG_ENGLISH} "data\License.txt"
- LicenseLangString MUILicense ${LANG_GERMAN} "data\License.txt"
-
-;--------------------------------
-;Reserve Files
-
- ;These files should be inserted before other files in the data block
- ;Keep these lines before any File command
- ;Only for solid compression (by default, solid compression is enabled for
BZIP2 and LZMA)
-
- !insertmacro MUI_RESERVEFILE_LANGDLL
-
-
-
-;--------------------------------
-;Installer Sections
-
-Section $(TEXT_SecBase) SecBase
-
- SectionIn RO
-
- SetOutPath "$INSTDIR"
-
- ;ADD YOUR OWN FILES HERE...
-
- File "data\warzone2100.exe"
- File "data\OpenAL32.dll"
- File "data\wrap_oal.dll"
- File "data\mp.wz"
- File "data\warzone.wz"
-
- File "data\License.txt"
- File "data\Readme.txt"
-
-
- ;Store installation folder
- WriteRegStr HKCU "Software\Warzone 2100" "" $INSTDIR
-
- ;Create uninstaller
- WriteUninstaller "$INSTDIR\Uninstall.exe"
-
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
-
- ;Create shortcuts
- CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk"
"$INSTDIR\Uninstall.exe"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Warzone 2100.lnk"
"$INSTDIR\Warzone2100.exe"
-
- !insertmacro MUI_STARTMENU_WRITE_END
-
-SectionEnd
-
-
-SectionGroup /e $(TEXT_SecMods) secMods
-
-Section $(TEXT_SecGrimMod) SecGrimMod
-
- SetOutPath "$INSTDIR\mods\global"
-
- File "data\grim.wz"
-
- SetOutPath "$INSTDIR"
-
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Warzone 2100 - Grim's
GFX.lnk" "$INSTDIR\warzone2100.exe" "--mod grim.wz"
- !insertmacro MUI_STARTMENU_WRITE_END
-
-SectionEnd
-
-SectionGroupEnd
-
-
-
-;--------------------------------
-;Installer Functions
-
-Function .onInit
-
- !insertmacro MUI_LANGDLL_DISPLAY
-
-FunctionEnd
-
-Function LaunchLink
- ExecShell "" "$SMPROGRAMS\$STARTMENU_FOLDER\Warzone 2100.lnk"
-FunctionEnd
-
-;--------------------------------
-;Descriptions
-
- ;Language strings
- LangString TEXT_SecBase ${LANG_ENGLISH} "Standard installation"
- LangString DESC_SecBase ${LANG_ENGLISH} "Standard installation."
-
- LangString TEXT_SecMods ${LANG_ENGLISH} "Mods"
- LangString DESC_SecMods ${LANG_ENGLISH} "Various mods."
-
- LangString TEXT_SecGrimMod ${LANG_ENGLISH} "Grim's art update. Replaces
campaign 1 textures with more detailed ones. Also includes some other texture
and model updates. License: NON GPL: Copyright by Grim. Use is only permited
for Warzone 2100 GPL."
- LangString DESC_SecGrimMod ${LANG_ENGLISH} "Grim's art update"
-
-
-
- LangString TEXT_SecBase ${LANG_GERMAN} "Standart installation"
- LangString DESC_SecBase ${LANG_GERMAN} "Standart installation."
-
- LangString TEXT_SecMods ${LANG_GERMAN} "Mods"
- LangString DESC_SecMods ${LANG_GERMAN} "Verschiedene Mods."
-
- LangString TEXT_SecGrimMod ${LANG_GERMAN} "Grims Grafik Update"
- LangString DESC_SecGrimMod ${LANG_GERMAN} "Grims Grafik Update. Ersetzt
Kampagne 1 Texturen mit Detailieren. Enthält auch einige andere Textur und
Model updates. Lizenz: Nicht GPL: Copyright by Grim. Verwendung nur für Warzone
2100 GPL gestattet."
-
-
-
- LangString TEXT_RunWarzone ${LANG_ENGLISH} "Run Warzone 2100"
- LangString TEXT_RunWarzone ${LANG_GERMAN} "Starte Warzone 2100"
-
-
-
- ;Assign language strings to sections
- !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
- !insertmacro MUI_DESCRIPTION_TEXT ${SecBase} $(DESC_SecBase)
-
- !insertmacro MUI_DESCRIPTION_TEXT ${SecMods} $(DESC_SecMods)
- !insertmacro MUI_DESCRIPTION_TEXT ${SecGrimMod} $(DESC_SecGrimMod)
- !insertmacro MUI_FUNCTION_DESCRIPTION_END
-
-
-
-;--------------------------------
-;Uninstaller Section
-
-Section "Uninstall"
-
- ;ADD YOUR OWN FILES HERE...
-
- Delete "$INSTDIR\warzone2100.exe"
- Delete "$INSTDIR\OpenAL32.dll"
- Delete "$INSTDIR\wrap_oal.dll"
- Delete "$INSTDIR\warzone.wz"
- Delete "$INSTDIR\mp.wz"
-
- Delete "$INSTDIR\Readme.txt"
- Delete "$INSTDIR\License.txt"
-
- Delete "$INSTDIR\Uninstall.exe"
-
- Delete "$INSTDIR\mods\global\grim.wz"
-
- RMDir "$INSTDIR\mods\global"
- RMDir "$INSTDIR\mods"
- RMDir "$INSTDIR"
-
- !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
-
- Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
- Delete "$SMPROGRAMS\$MUI_TEMP\Warzone 2100.lnk"
- Delete "$SMPROGRAMS\$MUI_TEMP\Warzone 2100 - Grim's GFX.lnk"
-
- ;Delete empty start menu parent diretories
- StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
-
- startMenuDeleteLoop:
- ClearErrors
- RMDir $MUI_TEMP
- GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
-
- IfErrors startMenuDeleteLoopDone
-
- StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
- startMenuDeleteLoopDone:
-
- DeleteRegValue HKCU "Software\Warzone 2100" "Start Menu Folder"
- DeleteRegValue HKCU "Software\Warzone 2100" ""
- DeleteRegKey /ifempty HKCU "Software\Warzone 2100"
-
-SectionEnd
-
-;--------------------------------
-;Uninstaller Functions
-
-Function un.onInit
-
- !insertmacro MUI_UNGETLANGUAGE
-
-FunctionEnd
+;NSIS Modern User Interface
+;Warzone 2100 GPL Installer script
+;Written by Dennis Schridde
+
+;--------------------------------
+;Include Modern UI
+
+ !include "MUI.nsh"
+
+;--------------------------------
+;General
+
+ ;Name and file
+ Name "Warzone 2100"
+ OutFile "${OUTFILE}"
+
+ ;Default installation folder
+ InstallDir "$PROGRAMFILES\Warzone 2100"
+
+ ;Get installation folder from registry if available
+ InstallDirRegKey HKCU "Software\Warzone 2100" ""
+
+ SetCompressor /FINAL /SOLID lzma
+
+;--------------------------------
+;Variables
+
+ Var MUI_TEMP
+ Var STARTMENU_FOLDER
+
+;--------------------------------
+;Interface Settings
+
+ !define MUI_ABORTWARNING
+
+ ; Settings for MUI_PAGE_LICENSE
+ !define MUI_LICENSEPAGE_RADIOBUTTONS
+
+ ;Start Menu Folder Page Configuration (for MUI_PAGE_STARTMENU)
+ !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
+ !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Warzone 2100"
+ !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
+
+ ; These indented statements modify settings for MUI_PAGE_FINISH
+ !define MUI_FINISHPAGE_NOAUTOCLOSE
+ !define MUI_FINISHPAGE_RUN
+ !define MUI_FINISHPAGE_RUN_NOTCHECKED
+ !define MUI_FINISHPAGE_RUN_TEXT $(TEXT_RunWarzone)
+ !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink"
+ !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
+ !define MUI_FINISHPAGE_SHOWREADME $INSTDIR\Readme.txt
+
+;--------------------------------
+;Pages
+
+ !insertmacro MUI_PAGE_WELCOME
+ !insertmacro MUI_PAGE_LICENSE $(MUILicense)
+ !insertmacro MUI_PAGE_COMPONENTS
+ !insertmacro MUI_PAGE_DIRECTORY
+ !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
+ !insertmacro MUI_PAGE_INSTFILES
+ !insertmacro MUI_PAGE_FINISH
+
+ !insertmacro MUI_UNPAGE_WELCOME
+ !insertmacro MUI_UNPAGE_CONFIRM
+ !insertmacro MUI_UNPAGE_INSTFILES
+ !insertmacro MUI_UNPAGE_FINISH
+
+;--------------------------------
+;Languages
+
+ !insertmacro MUI_LANGUAGE "English" # first language is the default language
+ !insertmacro MUI_LANGUAGE "German"
+
+;--------------------------------
+;License Language String
+
+ LicenseLangString MUILicense ${LANG_ENGLISH} "..\COPYING"
+ LicenseLangString MUILicense ${LANG_GERMAN} "..\COPYING"
+
+;--------------------------------
+;Reserve Files
+
+ ;These files should be inserted before other files in the data block
+ ;Keep these lines before any File command
+ ;Only for solid compression (by default, solid compression is enabled for
BZIP2 and LZMA)
+
+ !insertmacro MUI_RESERVEFILE_LANGDLL
+
+
+
+;--------------------------------
+;Installer Sections
+
+Section $(TEXT_SecBase) SecBase
+
+ SectionIn RO
+
+ SetOutPath "$INSTDIR"
+
+ ;ADD YOUR OWN FILES HERE...
+
+ ; Main executable
+ File "..\src\warzone2100.exe"
+
+ ; Required runtime libs
+ File "${DEVDIR}\lib\SDL.dll"
+ File "${DEVDIR}\lib\SDL_net.dll"
+ File "${DEVDIR}\lib\physfs.dll"
+ File "${DEVDIR}\lib\vorbisfile.dll"
+ File "${DEVDIR}\lib\ogg.dll"
+ File "${DEVDIR}\lib\vorbis.dll"
+ File "${DEVDIR}\lib\png13.dll"
+ File "${DEVDIR}\lib\zlib1.dll"
+ File "${DEVDIR}\lib\jpeg6b.dll"
+ File "${DEVDIR}\lib\OpenAL32.dll"
+ File "${DEVDIR}\lib\wrap_oal.dll"
+
+ ; Data files
+ File "..\data\mp.wz"
+ File "..\data\warzone.wz"
+
+ ; Information/documentation files
+ File "/oname=License.txt" "..\COPYING"
+ File "/oname=Readme.txt" "..\README"
+
+
+ ;Store installation folder
+ WriteRegStr HKCU "Software\Warzone 2100" "" $INSTDIR
+
+ ; Write the Windows-uninstall keys and create the uninstaller
+ WriteRegStr HKCU
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Warzone 2100"
"DisplayName" "Warzone 2100"
+ WriteRegStr HKCU
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Warzone 2100"
"DisplayIcon" "$INSTDIR\warzone2100.exe,0"
+ WriteRegStr HKCU
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Warzone 2100" "Publisher"
"Warzone Resurrection Project"
+; WriteRegStr HKCU
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Warzone 2100"
"DisplayVersion" "2.0.5 r571"
+ WriteRegStr HKCU
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Warzone 2100"
"UninstallString" '"$INSTDIR\uninstall.exe"'
+ WriteRegDWORD HKCU
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Warzone 2100" "NoModify" 1
+ WriteRegDWORD HKCU
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Warzone 2100" "NoRepair" 1
+ WriteUninstaller "uninstall.exe"
+
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+
+ ;Create shortcuts
+ CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
+ CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk"
"$INSTDIR\uninstall.exe"
+ CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Warzone 2100.lnk"
"$INSTDIR\warzone2100.exe"
+
+ !insertmacro MUI_STARTMENU_WRITE_END
+
+SectionEnd
+
+
+SectionGroup /e $(TEXT_SecMods) secMods
+
+Section $(TEXT_SecGrimMod) SecGrimMod
+
+ SetOutPath "$INSTDIR\mods\global"
+
+ File "..\data\grim.wz"
+
+ SetOutPath "$INSTDIR"
+
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+ CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Warzone 2100 - Grim's
GFX.lnk" "$INSTDIR\warzone2100.exe" "--mod grim.wz"
+ !insertmacro MUI_STARTMENU_WRITE_END
+
+SectionEnd
+
+SectionGroupEnd
+
+
+
+;--------------------------------
+;Installer Functions
+
+Function .onInit
+
+ !insertmacro MUI_LANGDLL_DISPLAY
+
+FunctionEnd
+
+Function LaunchLink
+ ExecShell "" "$SMPROGRAMS\$STARTMENU_FOLDER\Warzone 2100.lnk"
+FunctionEnd
+
+;--------------------------------
+;Descriptions
+
+ ;Language strings
+ LangString TEXT_SecBase ${LANG_ENGLISH} "Standard installation"
+ LangString DESC_SecBase ${LANG_ENGLISH} "Standard installation."
+
+ LangString TEXT_SecMods ${LANG_ENGLISH} "Mods"
+ LangString DESC_SecMods ${LANG_ENGLISH} "Various mods."
+
+ LangString TEXT_SecGrimMod ${LANG_ENGLISH} "Grim's art update. Replaces
campaign 1 textures with more detailed ones. Also includes some other texture
and model updates. License: NON GPL: Copyright by Grim. Use is only permited
for Warzone 2100 GPL."
+ LangString DESC_SecGrimMod ${LANG_ENGLISH} "Grim's art update"
+
+
+
+ LangString TEXT_SecBase ${LANG_GERMAN} "Standart installation"
+ LangString DESC_SecBase ${LANG_GERMAN} "Standart installation."
+
+ LangString TEXT_SecMods ${LANG_GERMAN} "Mods"
+ LangString DESC_SecMods ${LANG_GERMAN} "Verschiedene Mods."
+
+ LangString TEXT_SecGrimMod ${LANG_GERMAN} "Grims Grafik Update"
+ LangString DESC_SecGrimMod ${LANG_GERMAN} "Grims Grafik Update. Ersetzt
Kampagne 1 Texturen mit Detailieren. Enthält auch einige andere Textur und
Model updates. Lizenz: Nicht GPL: Copyright by Grim. Verwendung nur für Warzone
2100 GPL gestattet."
+
+
+
+ LangString TEXT_RunWarzone ${LANG_ENGLISH} "Run Warzone 2100"
+ LangString TEXT_RunWarzone ${LANG_GERMAN} "Starte Warzone 2100"
+
+
+
+ ;Assign language strings to sections
+ !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecBase} $(DESC_SecBase)
+
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecMods} $(DESC_SecMods)
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecGrimMod} $(DESC_SecGrimMod)
+ !insertmacro MUI_FUNCTION_DESCRIPTION_END
+
+
+
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+
+ ;ADD YOUR OWN FILES HERE...
+
+ Delete "$INSTDIR\warzone2100.exe"
+ Delete "$INSTDIR\SDL.dll"
+ Delete "$INSTDIR\SDL_net.dll"
+ Delete "$INSTDIR\physfs.dll"
+ Delete "$INSTDIR\vorbisfile.dll"
+ Delete "$INSTDIR\ogg.dll"
+ Delete "$INSTDIR\vorbis.dll"
+ Delete "$INSTDIR\png13.dll"
+ Delete "$INSTDIR\zlib1.dll"
+ Delete "$INSTDIR\jpeg6b.dll"
+ Delete "$INSTDIR\OpenAL32.dll"
+ Delete "$INSTDIR\wrap_oal.dll"
+ Delete "$INSTDIR\warzone.wz"
+ Delete "$INSTDIR\mp.wz"
+
+ Delete "$INSTDIR\Readme.txt"
+ Delete "$INSTDIR\License.txt"
+
+ Delete "$INSTDIR\uninstall.exe"
+
+ Delete "$INSTDIR\mods\global\grim.wz"
+
+ RMDir "$INSTDIR\mods\global"
+ RMDir "$INSTDIR\mods"
+ RMDir "$INSTDIR"
+
+ !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
+
+ Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
+ Delete "$SMPROGRAMS\$MUI_TEMP\Warzone 2100.lnk"
+ Delete "$SMPROGRAMS\$MUI_TEMP\Warzone 2100 - Grim's GFX.lnk"
+
+ ;Delete empty start menu parent diretories
+ StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
+
+ startMenuDeleteLoop:
+ ClearErrors
+ RMDir $MUI_TEMP
+ GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
+
+ IfErrors startMenuDeleteLoopDone
+
+ StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
+ startMenuDeleteLoopDone:
+
+ DeleteRegValue HKCU "Software\Warzone 2100" "Start Menu Folder"
+ DeleteRegValue HKCU "Software\Warzone 2100" ""
+ DeleteRegKey /ifempty HKCU "Software\Warzone 2100"
+
+ ; Unregister with Windows' uninstall system
+ DeleteRegKey HKCU
"Software\Microsoft\Windows\CurrentVersion\Uninstall\Warzone 2100"
+
+SectionEnd
+
+;--------------------------------
+;Uninstaller Functions
+
+Function un.onInit
+
+ !insertmacro MUI_UNGETLANGUAGE
+
+FunctionEnd
Property changes on: nsis\warzone2100.nsi
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:eol-style
+ native
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Warzone-dev mailing list [email protected] https://mail.gna.org/listinfo/warzone-dev
