mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-01-02 21:52:32 -06:00
Change project directory structure.
Change project directory structure according to application structure. Change 'nox' configuration option to something more meaningful 'nogui'. Rename 'Icons' folder to 'icons' (similar to other folders). Partially add 'nowebui' option support. Remove QConf project file.
This commit is contained in:
153
dist/windows/uninstaller.nsi
vendored
Normal file
153
dist/windows/uninstaller.nsi
vendored
Normal file
@@ -0,0 +1,153 @@
|
||||
Section "un.$(remove_files)" ;"un.Remove files"
|
||||
SectionIn RO
|
||||
|
||||
; Remove files and uninstaller
|
||||
Delete "$INSTDIR\qbittorrent.exe"
|
||||
Delete "$INSTDIR\qbittorrent.pdb"
|
||||
Delete "$INSTDIR\qt.conf"
|
||||
Delete "$INSTDIR\translations\qt_ar.qm"
|
||||
Delete "$INSTDIR\translations\qt_bg.qm"
|
||||
Delete "$INSTDIR\translations\qt_ca.qm"
|
||||
Delete "$INSTDIR\translations\qt_cs.qm"
|
||||
Delete "$INSTDIR\translations\qt_da.qm"
|
||||
Delete "$INSTDIR\translations\qt_de.qm"
|
||||
Delete "$INSTDIR\translations\qt_es.qm"
|
||||
Delete "$INSTDIR\translations\qt_eu.qm"
|
||||
Delete "$INSTDIR\translations\qt_fa.qm"
|
||||
Delete "$INSTDIR\translations\qt_fi.qm"
|
||||
Delete "$INSTDIR\translations\qt_fr.qm"
|
||||
Delete "$INSTDIR\translations\qt_gl.qm"
|
||||
Delete "$INSTDIR\translations\qt_he.qm"
|
||||
Delete "$INSTDIR\translations\qt_hu.qm"
|
||||
Delete "$INSTDIR\translations\qt_it.qm"
|
||||
Delete "$INSTDIR\translations\qt_ja.qm"
|
||||
Delete "$INSTDIR\translations\qt_ko.qm"
|
||||
Delete "$INSTDIR\translations\qt_lt.qm"
|
||||
Delete "$INSTDIR\translations\qt_nl.qm"
|
||||
Delete "$INSTDIR\translations\qt_pl.qm"
|
||||
Delete "$INSTDIR\translations\qt_pt.qm"
|
||||
Delete "$INSTDIR\translations\qt_pt_BR.qm"
|
||||
Delete "$INSTDIR\translations\qt_ru.qm"
|
||||
Delete "$INSTDIR\translations\qt_sk.qm"
|
||||
Delete "$INSTDIR\translations\qt_sl.qm"
|
||||
Delete "$INSTDIR\translations\qt_sv.qm"
|
||||
Delete "$INSTDIR\translations\qt_tr.qm"
|
||||
Delete "$INSTDIR\translations\qt_uk.qm"
|
||||
Delete "$INSTDIR\translations\qt_zh_CN.qm"
|
||||
Delete "$INSTDIR\translations\qt_zh_TW.qm"
|
||||
Delete "$INSTDIR\uninst.exe"
|
||||
|
||||
; Remove directories used
|
||||
RMDir /r "$INSTDIR\translations"
|
||||
RMDir "$INSTDIR"
|
||||
SectionEnd
|
||||
|
||||
Section "un.$(remove_shortcuts)" ;"un.Remove shortcuts"
|
||||
SectionIn RO
|
||||
; Remove shortcuts, if any
|
||||
RMDir /r "$SMPROGRAMS\qBittorrent"
|
||||
Delete "$DESKTOP\qBittorrent.lnk"
|
||||
SectionEnd
|
||||
|
||||
Section "un.$(remove_associations)" ;"un.Remove file associations"
|
||||
SectionIn RO
|
||||
ReadRegStr $0 HKLM "Software\Classes\.torrent" ""
|
||||
StrCmp $0 "qBittorrent" 0 torrent_end
|
||||
DetailPrint "$(uninst_tor_warn) $0"
|
||||
DeleteRegValue HKLM "Software\Classes\.torrent" ""
|
||||
DeleteRegKey /ifempty HKLM "Software\Classes\.torrent"
|
||||
|
||||
torrent_end:
|
||||
ReadRegStr $0 HKLM "Software\Classes\magnet\shell\open\command" ""
|
||||
StrCmp $0 '"$INSTDIR\qbittorrent.exe" "%1"' 0 magnet_end
|
||||
DetailPrint "$(uninst_mag_warn) $0"
|
||||
DeleteRegKey HKLM "Software\Classes\magnet"
|
||||
|
||||
magnet_end:
|
||||
!insertmacro UAC_AsUser_Call Function un.remove_associations_user ${UAC_SYNCREGISTERS}|${UAC_SYNCOUTDIR}|${UAC_SYNCINSTDIR}
|
||||
|
||||
System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
|
||||
SectionEnd
|
||||
|
||||
Function un.remove_associations_user
|
||||
ReadRegStr $0 HKCU "Software\Classes\.torrent" ""
|
||||
StrCmp $0 "qBittorrent" 0 torrent_end
|
||||
DetailPrint "$(uninst_tor_warn) $0"
|
||||
DeleteRegValue HKCU "Software\Classes\.torrent" ""
|
||||
DeleteRegKey /ifempty HKCU "Software\Classes\.torrent"
|
||||
|
||||
torrent_end:
|
||||
ReadRegStr $0 HKCU "Software\Classes\magnet\shell\open\command" ""
|
||||
StrCmp $0 '"$INSTDIR\qbittorrent.exe" "%1"' 0 magnet_end
|
||||
DetailPrint "$(uninst_mag_warn) $0"
|
||||
DeleteRegKey HKCU "Software\Classes\magnet"
|
||||
|
||||
magnet_end:
|
||||
FunctionEnd
|
||||
|
||||
Section "un.$(remove_registry)" ;"un.Remove registry keys"
|
||||
SectionIn RO
|
||||
; Remove registry keys
|
||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\qBittorrent"
|
||||
DeleteRegKey HKLM "Software\qBittorrent"
|
||||
DeleteRegKey HKLM "Software\Classes\qBittorrent"
|
||||
|
||||
System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
|
||||
SectionEnd
|
||||
|
||||
Section "un.$(remove_firewall)" ;
|
||||
|
||||
DetailPrint $(remove_firewallinfo)
|
||||
nsisFirewallW::RemoveAuthorizedApplication "$INSTDIR\qbittorrent.exe"
|
||||
|
||||
SectionEnd
|
||||
|
||||
Section /o "un.$(remove_conf)" ;"un.Remove configuration files"
|
||||
|
||||
!insertmacro UAC_AsUser_Call Function un.remove_conf_user ${UAC_SYNCREGISTERS}|${UAC_SYNCOUTDIR}|${UAC_SYNCINSTDIR}
|
||||
|
||||
SectionEnd
|
||||
|
||||
Function un.remove_conf_user
|
||||
|
||||
System::Call 'shell32::SHGetSpecialFolderPath(i $HWNDPARENT, t .r1, i ${CSIDL_APPDATA}, i0)i.r0'
|
||||
RMDir /r "$1\qBittorrent"
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Section /o "un.$(remove_cache)"
|
||||
|
||||
!insertmacro UAC_AsUser_Call Function un.remove_cache_user ${UAC_SYNCREGISTERS}|${UAC_SYNCOUTDIR}|${UAC_SYNCINSTDIR}
|
||||
|
||||
SectionEnd
|
||||
|
||||
Function un.remove_cache_user
|
||||
|
||||
System::Call 'shell32::SHGetSpecialFolderPath(i $HWNDPARENT, t .r1, i ${CSIDL_LOCALAPPDATA}, i0)i.r0'
|
||||
RMDir /r "$1\qBittorrent\"
|
||||
|
||||
FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Uninstaller Functions
|
||||
|
||||
Function un.onInit
|
||||
|
||||
!insertmacro Init "uninstaller"
|
||||
!insertmacro MUI_UNGETLANGUAGE
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function un.check_instance
|
||||
|
||||
check:
|
||||
FindProcDLL::FindProc "qbittorrent.exe"
|
||||
StrCmp $R0 "1" 0 notfound
|
||||
MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION $(uninst_warning) IDRETRY check IDCANCEL done
|
||||
|
||||
done:
|
||||
Abort
|
||||
|
||||
notfound:
|
||||
|
||||
FunctionEnd
|
||||
Reference in New Issue
Block a user