Purple-AetherSX2-mirror/nsis/SectionUninstaller.nsh
2023-01-22 07:44:12 +00:00

87 lines
2.8 KiB
Plaintext

; =======================================================================
; Shared Install Functions
; =======================================================================
Function .onInstSuccess
; Remove unpacked files
RMDir /r "$TEMP\PCSX2 ${APP_VERSION}"
FunctionEnd
; =======================================================================
; Shared Uninstall Functions
; =======================================================================
Function un.onUninstSuccess
; And remove the various install dir(s) but only if they're clean of user content:
Delete "$INSTDIR\Uninst-pcsx2.exe"
RMDir "$INSTDIR"
FunctionEnd
; =======================================================================
; Un.Installer Sections
; =======================================================================
Section "Un.Program ${APP_NAME}"
SectionIn RO
; First thing, remove the registry entry in case uninstall doesn't complete successfully
; otherwise, pcsx2 will be "confused" if it's re-installed later.
DeleteRegKey HKLM Software\PCSX2
; This key is generated by PCSX2 and *not* NSIS!
; Failure to delete this key can result in configuration errors after a fresh install.
DeleteRegKey HKCU Software\PCSX2
; Remove regkey generated by NSIS for uninstall functions
DeleteRegKey HKLM "${INSTDIR_REG_KEY}"
; Remove shortcuts, if any
Delete "$DESKTOP\${APP_NAME}.lnk"
Delete "$SMPROGRAMS\${APP_NAME}.lnk"
Delete "$INSTDIR\GameIndex.yaml"
Delete "$INSTDIR\cheats_ws.zip"
Delete "$INSTDIR\PCSX2_keys.ini.default"
Delete "$INSTDIR\pcsx2.exe"
RMDir /r "$INSTDIR\Langs"
RMDir /r "$INSTDIR\Docs"
RMDir /r "$INSTDIR\Shaders"
; FIXME: PCSX2 currently does not account for non-default file paths in the uninstaller
; These paths would either have to be written to the registry by PCSX2 itself or read directly
; using a script in NSIS.
SetShellVarContext current
Delete $DOCUMENTS\PCSX2\inis\PCSX2_ui.ini
SectionEnd
; /o for optional and unticked by default
Section /o "Un.Configuration files (Programs)"
SetShellVarContext current
RMDir /r "$DOCUMENTS\PCSX2\inis\"
SectionEnd
; /o for optional and unticked by default
Section /o "Un.Memory Cards and Savestates"
SetShellVarContext current
RMDir /r "$DOCUMENTS\PCSX2\memcards\"
RMDir /r "$DOCUMENTS\PCSX2\sstates\"
SectionEnd
; /o for optional and unticked by default
Section /o "Un.User files (Cheats, Logs, Snapshots)"
SetShellVarContext current
RMDir /r "$DOCUMENTS\PCSX2\Cheats_ws\"
RMDir /r "$DOCUMENTS\PCSX2\cheats\"
RMDir /r "$DOCUMENTS\PCSX2\logs\"
RMDir /r "$DOCUMENTS\PCSX2\snaps\"
SectionEnd
; /o for optional and unticked by default
Section /o "Un.BIOS files"
SetShellVarContext current
RMDir /r "$DOCUMENTS\PCSX2\bios\"
SectionEnd