PHP-Code:
;--------------------------------
;Uninstaller Section
Section "Uninstall"
;ADD YOUR OWN FILES HERE...
Delete "$INSTDIR\Uninstall.exe"
Delete "$INSTDIR\ReadMe TAC 2.02b_inoffiziell.txt"
Delete "$INSTDIR\TAC_License_DE.txt"
Delete "$INSTDIR\TAC Dokumentation\DLL\*.*"
Delete "$INSTDIR\TAC Dokumentation\Dokumentation Events\*.*"
RMDir "$INSTDIR\TAC Dokumentation\DLL"
RMDir "$INSTDIR\TAC Dokumentation\Dokumentation Events"
RMDir "$INSTDIR\TAC Dokumentation"
RMDir "$INSTDIR"
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk"
Delete "$SMPROGRAMS\$StartMenuFolder\The Authentic Colonization.lnk"
RMDir "$SMPROGRAMS\$StartMenuFolder"
DeleteRegKey /ifempty HKCU "Software\TAC"
SectionEnd
Dieser Abschnitt schreibt einen Uninstaller, der TAC auch wieder löschen kann. Von der Festplatte und aus dem Startmenu.
Dateien und Verzeichnisse sollten natürlich genau denen entsprechen, die man im Installer-Abschnitt vorher auch installiert hat. Achtung, Fehler in diesem Bereich können schonmal falsche Verzeichnisse oder die ganze Festplatte löschen. Also erst denken, dann schreiben, nochmal genau durchlesen, dann testen Rekursives Löschen (Parameter /r) kann ich aus Sicherheitsgründen nicht empfehlen, es sollten einzelne Unterverzeichnisse wie im Beispiel gelöscht werden.
PHP-Code:
;--------------------------------
Function .onInit
# the plugins dir is automatically deleted when the installer exits
InitPluginsDir
File /oname=$PLUGINSDIR\splash.bmp "TAC_Logo.bmp"
splash::show 1000 $PLUGINSDIR\splash
Pop $0 ; $0 has '1' if the user closed the splash screen early,
; '0' if everything closed normally, and '-1' if some error occurred.
!insertmacro MUI_LANGDLL_DISPLAY
ReadRegStr $ColPath HKLM "SOFTWARE\Classes\ColonizationSave\DefaultIcon" ""
StrCpy $ColPath $ColPath -2
FunctionEnd
Function LaunchLink
StrCpy $ColPath2 $ColPath -16
SetOutPath "$ColPath2"
CreateShortCut "$DESKTOP\The Authentic Colonization.lnk" "$ColPath" "mod=\TAC 2.02b_inoffiziell" "$INSTDIR\Desktop_Icon_Soldat_1.ico"
;ExecShell "" "$DESKTOP\The Authentic Colonization.lnk"
FunctionEnd
Zwei kleine Funktionen:
Die erste zeigt beim Start kurz unser TAC-Logo an. File /oname=$PLUGINSDIR\splash.bmp "TAC_Logo.bmp" muss abgeändert werden, wenn das Logo nicht im selben Verzeichnis wie die Skriptdatei liegt.
Die zweite erstellt auf dem Desktop eine Verknüpfung, wenn der User das auswählt. Die Parameter "mod=\TAC 2.02b_inoffiziell" "$INSTDIR\Desktop_Icon_Soldat_1.ico" müssen entsprechend angepasst werden.
So, das war es eigentlich. Viel Spaß damit WB