summaryrefslogtreecommitdiff
path: root/calendar/installer/windows/nsis/uninstaller.nsi
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/installer/windows/nsis/uninstaller.nsi')
-rw-r--r--calendar/installer/windows/nsis/uninstaller.nsi398
1 files changed, 0 insertions, 398 deletions
diff --git a/calendar/installer/windows/nsis/uninstaller.nsi b/calendar/installer/windows/nsis/uninstaller.nsi
deleted file mode 100644
index e5c5cf1e2..000000000
--- a/calendar/installer/windows/nsis/uninstaller.nsi
+++ /dev/null
@@ -1,398 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-# Required Plugins:
-# AppAssocReg http://nsis.sourceforge.net/Application_Association_Registration_plug-in
-# ShellLink http://nsis.sourceforge.net/ShellLink_plug-in
-# UAC http://nsis.sourceforge.net/UAC_plug-in
-
-; Set verbosity to 3 (e.g. no script) to lessen the noise in the build logs
-!verbose 3
-
-; 7-Zip provides better compression than the lzma from NSIS so we add the files
-; uncompressed and use 7-Zip to create a SFX archive of it
-SetDatablockOptimize on
-SetCompress off
-CRCCheck on
-
-RequestExecutionLevel user
-
-!addplugindir ./
-
-; prevents compiling of the reg write logging.
-!define NO_LOG
-
-Var TmpVal
-
-; Other included files may depend upon these includes!
-; The following includes are provided by NSIS.
-!include FileFunc.nsh
-!include LogicLib.nsh
-!include MUI.nsh
-!include WinMessages.nsh
-!include WinVer.nsh
-!include WordFunc.nsh
-
-!insertmacro GetOptions
-!insertmacro GetParameters
-!insertmacro GetParent
-
-!insertmacro un.GetParent
-
-; The following includes are custom.
-!include branding.nsi
-!include defines.nsi
-!include common.nsh
-!include locales.nsi
-
-; This is named BrandShortName helper because we use this for software update
-; post update cleanup.
-VIAddVersionKey "FileDescription" "${BrandShortName} Helper"
-VIAddVersionKey "OriginalFilename" "helper.exe"
-
-; Most commonly used macros for managing shortcuts
-!insertmacro _LoggingShortcutsCommon
-
-!insertmacro CleanVirtualStore
-!insertmacro FindSMProgramsDir
-!insertmacro GetLongPath
-!insertmacro RegCleanMain
-!insertmacro RegCleanUninstall
-!insertmacro SetBrandNameVars
-!insertmacro UnloadUAC
-!insertmacro UpdateShortcutAppModelIDs
-!insertmacro WriteRegDWORD2
-!insertmacro WriteRegStr2
-
-!insertmacro un.ChangeMUIHeaderImage
-!insertmacro un.CheckForFilesInUse
-!insertmacro un.CleanUpdatesDir
-!insertmacro un.CleanVirtualStore
-!insertmacro un.DeleteShortcuts
-!insertmacro un.GetLongPath
-!insertmacro un.GetSecondInstallPath
-!insertmacro un.ManualCloseAppPrompt
-!insertmacro un.ParseUninstallLog
-!insertmacro un.RegCleanMain
-!insertmacro un.RegCleanUninstall
-!insertmacro un.RemoveQuotesFromPath
-!insertmacro un.SetBrandNameVars
-
-!include shared.nsh
-
-; Helper macros for ui callbacks. Insert these after shared.nsh
-!insertmacro OnEndCommon
-!insertmacro UninstallOnInitCommon
-
-!insertmacro un.OnEndCommon
-
-Name "${BrandFullName}"
-OutFile "helper.exe"
-InstallDirRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${BrandFullNameInternal} (${AppVersion})" "InstallLocation"
-InstallDir "$PROGRAMFILES\${BrandFullName}"
-ShowUnInstDetails nevershow
-
-################################################################################
-# Modern User Interface - MUI
-
-!define MUI_ABORTWARNING
-!define MUI_ICON setup.ico
-!define MUI_UNICON setup.ico
-!define MUI_WELCOMEPAGE_TITLE_3LINES
-!define MUI_HEADERIMAGE
-!define MUI_HEADERIMAGE_RIGHT
-!define MUI_UNWELCOMEFINISHPAGE_BITMAP wizWatermark.bmp
-
-; Use a right to left header image when the language is right to left
-!ifdef ${AB_CD}_rtl
-!define MUI_HEADERIMAGE_BITMAP_RTL wizHeaderRTL.bmp
-!else
-!define MUI_HEADERIMAGE_BITMAP wizHeader.bmp
-!endif
-
-/**
- * Uninstall Pages
- */
-; Welcome Page
-!define MUI_PAGE_CUSTOMFUNCTION_PRE un.preWelcome
-!define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.leaveWelcome
-!insertmacro MUI_UNPAGE_WELCOME
-
-; Custom Uninstall Confirm Page
-UninstPage custom un.preConfirm un.leaveConfirm
-
-; Remove Files Page
-!insertmacro MUI_UNPAGE_INSTFILES
-
-; Finish Page
-
-!insertmacro MUI_UNPAGE_FINISH
-
-; Use the default dialog for IDD_VERIFY for a simple Banner
-ChangeUI IDD_VERIFY "${NSISDIR}\Contrib\UIs\default.exe"
-
-################################################################################
-# Install Sections
-; Empty section required for the installer to compile as an uninstaller
-Section ""
-SectionEnd
-
-################################################################################
-# Uninstall Sections
-
-Section "Uninstall"
- SetDetailsPrint textonly
- DetailPrint $(STATUS_UNINSTALL_MAIN)
- SetDetailsPrint none
-
- ; Delete the app exe to prevent launching the app while we are uninstalling.
- ClearErrors
- ${DeleteFile} "$INSTDIR\${FileMainEXE}"
- ${If} ${Errors}
- ; If the user closed the application it can take several seconds for it to
- ; shut down completely. If the application is being used by another user we
- ; can still delete the files when the system is restarted.
- Sleep 5000
- ${DeleteFile} "$INSTDIR\${FileMainEXE}"
- ClearErrors
- ${EndIf}
-
- SetShellVarContext current ; Set SHCTX to HKCU
- ${un.RegCleanMain} "Software\Mozilla"
- ${un.RegCleanUninstall}
- ${un.DeleteShortcuts}
-
- ClearErrors
- WriteRegStr HKLM "Software\Mozilla" "${BrandShortName}InstallerTest" "Write Test"
- ${If} ${Errors}
- StrCpy $TmpVal "HKCU" ; used primarily for logging
- ${Else}
- SetShellVarContext all ; Set SHCTX to HKLM
- DeleteRegValue HKLM "Software\Mozilla" "${BrandShortName}InstallerTest"
- StrCpy $TmpVal "HKLM" ; used primarily for logging
- ${un.RegCleanMain} "Software\Mozilla"
- ${un.RegCleanUninstall}
- ${un.DeleteShortcuts}
- ${EndIf}
-
- SetShellVarContext all ; Set SHCTX to HKLM
- ${un.GetSecondInstallPath} "Software\Mozilla" $R9
- ${If} $R9 == "false"
- SetShellVarContext current ; Set SHCTX to HKCU
- ${un.GetSecondInstallPath} "Software\Mozilla" $R9
- ${EndIf}
-
- StrCpy $0 "Software\Microsoft\Windows\CurrentVersion\App Paths\${FileMainEXE}"
- ${If} $R9 == "false"
- DeleteRegKey HKLM "$0"
- DeleteRegKey HKCU "$0"
- ${Else}
- ReadRegStr $R1 HKLM "$0" ""
- ${un.RemoveQuotesFromPath} "$R1" $R1
- ${un.GetParent} "$R1" $R1
- ${If} "$INSTDIR" == "$R1"
- WriteRegStr HKLM "$0" "" "$R9"
- ${un.GetParent} "$R9" $R1
- WriteRegStr HKLM "$0" "Path" "$R1"
- ${EndIf}
- ${EndIf}
-
- ; Remove directories and files we always control before parsing the uninstall
- ; log so empty directories can be removed.
- ${If} ${FileExists} "$INSTDIR\updates"
- RmDir /r /REBOOTOK "$INSTDIR\updates"
- ${EndIf}
- ${If} ${FileExists} "$INSTDIR\defaults\shortcuts"
- RmDir /r /REBOOTOK "$INSTDIR\defaults\shortcuts"
- ${EndIf}
- ${If} ${FileExists} "$INSTDIR\distribution"
- RmDir /r /REBOOTOK "$INSTDIR\distribution"
- ${EndIf}
- ${If} ${FileExists} "$INSTDIR\removed-files"
- Delete /REBOOTOK "$INSTDIR\removed-files"
- ${EndIf}
-
- ; Remove the updates directory for Vista and above
- ${un.CleanUpdatesDir} "Mozilla\Sunbird"
-
- ; Remove files that may be left behind by the application in the
- ; VirtualStore directory.
- ${un.CleanVirtualStore}
-
- ; Parse the uninstall log to unregister dll's and remove all installed
- ; files / directories this install is responsible for.
- ${un.ParseUninstallLog}
-
- ; Remove the uninstall directory that we control
- RmDir /r /REBOOTOK "$INSTDIR\uninstall"
-
- ; Remove the installation directory if it is empty
- ${RemoveDir} "$INSTDIR"
-
- ; If thunderbird.exe was successfully deleted yet we still need to restart to
- ; remove other files create a dummy thunderbird.exe.moz-delete to prevent the
- ; installer from allowing an install without restart when it is required
- ; to complete an uninstall.
- ${If} ${RebootFlag}
- ${Unless} ${FileExists} "$INSTDIR\${FileMainEXE}.moz-delete"
- FileOpen $0 "$INSTDIR\${FileMainEXE}.moz-delete" w
- FileWrite $0 "Will be deleted on restart"
- Delete /REBOOTOK "$INSTDIR\${FileMainEXE}.moz-delete"
- FileClose $0
- ${EndUnless}
- ${EndIf}
-
- ; Refresh desktop icons otherwise the start menu internet item won't be
- ; removed and other ugly things will happen like recreation of the app's
- ; clients registry key by the OS under some conditions.
- System::Call "shell32::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)"
-SectionEnd
-
-################################################################################
-# Language
-
-!insertmacro MOZ_MUI_LANGUAGE 'baseLocale'
-!verbose push
-!verbose 3
-!include "overrideLocale.nsh"
-!include "customLocale.nsh"
-!verbose pop
-
-; Set this after the locale files to override it if it is in the locale. Using
-; " " for BrandingText will hide the "Nullsoft Install System..." branding.
-BrandingText " "
-
-################################################################################
-# Page pre, show, and leave functions
-
-Function un.preWelcome
- ${If} ${FileExists} "$INSTDIR\distribution\modern-wizard.bmp"
- Delete "$PLUGINSDIR\modern-wizard.bmp"
- CopyFiles /SILENT "$INSTDIR\distribution\modern-wizard.bmp" "$PLUGINSDIR\modern-wizard.bmp"
- ${EndIf}
-FunctionEnd
-
-Function un.leaveWelcome
- ${If} ${FileExists} "$INSTDIR\${FileMainEXE}"
- Banner::show /NOUNLOAD "$(BANNER_CHECK_EXISTING)"
-
- ${If} "$TmpVal" == "FoundMessageWindow"
- Sleep 5000
- ${EndIf}
-
- ${PushFilesToCheck}
-
- ${un.CheckForFilesInUse} $TmpVal
-
- Banner::destroy
-
- ${If} "$TmpVal" == "true"
- StrCpy $TmpVal "FoundMessageWindow"
- ${un.ManualCloseAppPrompt} "${WindowClass}" "$(WARN_MANUALLY_CLOSE_APP_UNINSTALL)"
- StrCpy $TmpVal "true"
- ${EndIf}
- ${EndIf}
-FunctionEnd
-
-Function un.preConfirm
- ${If} ${FileExists} "$INSTDIR\distribution\modern-header.bmp"
- ${AndIf} $hHeaderBitmap == ""
- Delete "$PLUGINSDIR\modern-header.bmp"
- CopyFiles /SILENT "$INSTDIR\distribution\modern-header.bmp" "$PLUGINSDIR\modern-header.bmp"
- ${un.ChangeMUIHeaderImage} "$PLUGINSDIR\modern-header.bmp"
- ${EndIf}
-
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Settings" NumFields "3"
-
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 1" Type "label"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 1" Text "$(UN_CONFIRM_UNINSTALLED_FROM)"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 1" Left "0"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 1" Right "-1"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 1" Top "5"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 1" Bottom "15"
-
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" Type "text"
- ; The contents of this control must be set as follows in the pre function
- ; ${MUI_INSTALLOPTIONS_READ} $1 "unconfirm.ini" "Field 2" "HWND"
- ; SendMessage $1 ${WM_SETTEXT} 0 "STR:$INSTDIR"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" State ""
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" Left "0"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" Right "-1"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" Top "17"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" Bottom "30"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 2" flags "READONLY"
-
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Type "label"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Text "$(UN_CONFIRM_CLICK)"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Left "0"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Right "-1"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Top "130"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 3" Bottom "150"
-
- ${If} "$TmpVal" == "true"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" Type "label"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" Text "$(SUMMARY_REBOOT_REQUIRED_UNINSTALL)"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" Left "0"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" Right "-1"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" Top "35"
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Field 4" Bottom "45"
-
- WriteINIStr "$PLUGINSDIR\unconfirm.ini" "Settings" NumFields "4"
- ${EndIf}
-
- !insertmacro MUI_HEADER_TEXT "$(UN_CONFIRM_PAGE_TITLE)" "$(UN_CONFIRM_PAGE_SUBTITLE)"
- ; The Summary custom page has a textbox that will automatically receive
- ; focus. This sets the focus to the Install button instead.
- !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "unconfirm.ini"
- GetDlgItem $0 $HWNDPARENT 1
- System::Call "user32::SetFocus(i r0, i 0x0007, i,i)i"
- ${MUI_INSTALLOPTIONS_READ} $1 "unconfirm.ini" "Field 2" "HWND"
- SendMessage $1 ${WM_SETTEXT} 0 "STR:$INSTDIR"
- !insertmacro MUI_INSTALLOPTIONS_SHOW
-FunctionEnd
-
-Function un.leaveConfirm
- ; Try to delete the app executable and if we can't delete it try to find the
- ; app's message window and prompt the user to close the app. This allows
- ; running an instance that is located in another directory. If for whatever
- ; reason there is no message window we will just rename the app's files and
- ; then remove them on restart if they are in use.
- ClearErrors
- ${DeleteFile} "$INSTDIR\${FileMainEXE}"
- ${If} ${Errors}
- ${un.ManualCloseAppPrompt} "${WindowClass}" "$(WARN_MANUALLY_CLOSE_APP_UNINSTALL)"
- ${EndIf}
-FunctionEnd
-
-################################################################################
-# Initialization Functions
-
-Function .onInit
- ${UninstallOnInitCommon}
-FunctionEnd
-
-Function un.onInit
- ${un.GetParent} "$INSTDIR" $INSTDIR
- ${un.GetLongPath} "$INSTDIR" $INSTDIR
- ${Unless} ${FileExists} "$INSTDIR\${FileMainEXE}"
- Abort
- ${EndUnless}
-
- StrCpy $LANGUAGE 0
- ${un.SetBrandNameVars} "$INSTDIR\distribution\setup.ini"
-
- ; Initialize $hHeaderBitmap to prevent redundant changing of the bitmap if
- ; the user clicks the back button
- StrCpy $hHeaderBitmap ""
-
- !insertmacro InitInstallOptionsFile "unconfirm.ini"
-FunctionEnd
-
-Function .onGUIEnd
- ${OnEndCommon}
-FunctionEnd
-
-Function un.onGUIEnd
- ${un.OnEndCommon}
-FunctionEnd