|
@@ -1,6 +1,6 @@
|
|
# HG changeset patch
|
|
# HG changeset patch
|
|
# User Bill Gianopoulos <wgianopoulos@gmail.com>
|
|
# User Bill Gianopoulos <wgianopoulos@gmail.com>
|
|
-# Date 1685133913 0
|
|
|
|
|
|
+# Date 1685208346 0
|
|
Bug 9999999 - Port bug 1821963 to suite.
|
|
Bug 9999999 - Port bug 1821963 to suite.
|
|
Bug 1821963 - [CTW] Remove COM proxy infrastructure
|
|
Bug 1821963 - [CTW] Remove COM proxy infrastructure
|
|
|
|
|
|
@@ -96,3 +96,113 @@ diff --git a/suite/installer/windows/nsis/installer.nsi b/suite/installer/window
|
|
${LogUninstall} "File: \components\xpti.dat"
|
|
${LogUninstall} "File: \components\xpti.dat"
|
|
${LogUninstall} "File: \active-update.xml"
|
|
${LogUninstall} "File: \active-update.xml"
|
|
${LogUninstall} "File: \install.log"
|
|
${LogUninstall} "File: \install.log"
|
|
|
|
+diff --git a/suite/installer/windows/nsis/shared.nsh b/suite/installer/windows/nsis/shared.nsh
|
|
|
|
+--- a/suite/installer/windows/nsis/shared.nsh
|
|
|
|
++++ b/suite/installer/windows/nsis/shared.nsh
|
|
|
|
+@@ -73,18 +73,16 @@
|
|
|
|
+ ${FixClassKeys}
|
|
|
|
+
|
|
|
|
+ ; Remove files that may be left behind by the application in the
|
|
|
|
+ ; VirtualStore directory.
|
|
|
|
+ ${CleanVirtualStore}
|
|
|
|
+
|
|
|
|
+ ${RemoveDeprecatedFiles}
|
|
|
|
+
|
|
|
|
+- ; Register AccessibleHandler.dll with COM (this writes to HKLM)
|
|
|
|
+- ${RegisterAccessibleHandler}
|
|
|
|
+ !macroend
|
|
|
|
+ !define PostUpdate "!insertmacro PostUpdate"
|
|
|
|
+
|
|
|
|
+ !macro SetAsDefaultAppUser
|
|
|
|
+ SetShellVarContext current
|
|
|
|
+
|
|
|
|
+ ; It is only possible to set this installation of the application as the
|
|
|
|
+ ; handler for the various types if those types were added to the respective
|
|
|
|
+@@ -755,21 +753,16 @@
|
|
|
|
+ ${IsHandlerForInstallDir} "nntp" $R9
|
|
|
|
+ ${If} "$R9" == "true"
|
|
|
|
+ ${AddHandlerValues} "SOFTWARE\Classes\nntp" "$2" "$8,0" "" "" ""
|
|
|
|
+ ${EndIf}
|
|
|
|
+ !macroend
|
|
|
|
+ !define UpdateProtocolHandlers "!insertmacro UpdateProtocolHandlers"
|
|
|
|
+ !insertmacro RegCleanAppHandler
|
|
|
|
+
|
|
|
|
+-!macro RegisterAccessibleHandler
|
|
|
|
+- ${RegisterDLL} "$INSTDIR\AccessibleHandler.dll"
|
|
|
|
+-!macroend
|
|
|
|
+-!define RegisterAccessibleHandler "!insertmacro RegisterAccessibleHandler"
|
|
|
|
+-
|
|
|
|
+ ; Removes various registry entries for reasons noted below (does not use SHCTX).
|
|
|
|
+ !macro RemoveDeprecatedKeys
|
|
|
|
+ StrCpy $0 "SOFTWARE\Classes"
|
|
|
|
+ ; Remove support for launching gopher urls from the shell during install or
|
|
|
|
+ ; update if the DefaultIcon is from seamonkey.exe.
|
|
|
|
+ ${RegCleanAppHandler} "gopher"
|
|
|
|
+
|
|
|
|
+ ; Remove support for launching chrome urls from the shell during install or
|
|
|
|
+@@ -791,16 +784,21 @@
|
|
|
|
+ ${If} "$2" == "SeamonkeyURL"
|
|
|
|
+ DeleteRegKey HKCU "$0"
|
|
|
|
+ ${EndIf}
|
|
|
|
+
|
|
|
|
+ ; Remove the SupportUTF8 registry value as it causes MAPI issues on some locales
|
|
|
|
+ ; with non-ASCII characters in file names.
|
|
|
|
+ StrCpy $0 "Software\Clients\Mail\${ClientsRegName}"
|
|
|
|
+ DeleteRegValue HKLM $0 "SupportUTF8"
|
|
|
|
++
|
|
|
|
++ ; Unregister deprecated AccessibleHandler.dll.
|
|
|
|
++ ${If} ${FileExists} "$INSTDIR\AccessibleHandler.dll"
|
|
|
|
++ ${UnregisterDLL} "$INSTDIR\AccessibleHandler.dll"
|
|
|
|
++ ${EndIf}
|
|
|
|
+ !macroend
|
|
|
|
+ !define RemoveDeprecatedKeys "!insertmacro RemoveDeprecatedKeys"
|
|
|
|
+
|
|
|
|
+ ; Removes various directories and files for reasons noted below.
|
|
|
|
+ !macro RemoveDeprecatedFiles
|
|
|
|
+ ; Remove the Java Console extension (bug 1165156)
|
|
|
|
+ FindFirst $0 $1 "$INSTDIR\extensions\{CAFEEFAC-00*-0000-*-ABCDEFFEDCBA}"
|
|
|
|
+ loopDirs:
|
|
|
|
+@@ -1011,19 +1009,17 @@
|
|
|
|
+ ; required message is displayed. All files must be located in the $INSTDIR
|
|
|
|
+ ; directory.
|
|
|
|
+ !macro PushFilesToCheck
|
|
|
|
+ ; The first string to be pushed onto the stack MUST be "end" to indicate
|
|
|
|
+ ; that there are no more files to check in $INSTDIR and the last string
|
|
|
|
+ ; should be ${FileMainEXE} so if it is in use the CheckForFilesInUse macro
|
|
|
|
+ ; returns after the first check.
|
|
|
|
+ Push "end"
|
|
|
|
+- Push "AccessibleHandler.dll"
|
|
|
|
+ Push "AccessibleMarshal.dll"
|
|
|
|
+- Push "IA2Marshal.dll"
|
|
|
|
+ Push "freebl3.dll"
|
|
|
|
+ Push "nssckbi.dll"
|
|
|
|
+ Push "nspr4.dll"
|
|
|
|
+ Push "nssdbm3.dll"
|
|
|
|
+ Push "sqlite3.dll"
|
|
|
|
+ Push "mozsqlite3.dll"
|
|
|
|
+ Push "xpcom.dll"
|
|
|
|
+ Push "crashreporter.exe"
|
|
|
|
+diff --git a/suite/installer/windows/nsis/uninstaller.nsi b/suite/installer/windows/nsis/uninstaller.nsi
|
|
|
|
+--- a/suite/installer/windows/nsis/uninstaller.nsi
|
|
|
|
++++ b/suite/installer/windows/nsis/uninstaller.nsi
|
|
|
|
+@@ -352,19 +352,17 @@ Section "Uninstall"
|
|
|
|
+ ${un.CleanVirtualStore}
|
|
|
|
+
|
|
|
|
+ ; Only unregister the dll if the registration points to this installation
|
|
|
|
+ ReadRegStr $R1 HKCR "CLSID\{0D68D6D0-D93D-4D08-A30D-F00DD1F45B24}\InProcServer32" ""
|
|
|
|
+ ${If} "$INSTDIR\AccessibleMarshal.dll" == "$R1"
|
|
|
|
+ ${UnregisterDLL} "$INSTDIR\AccessibleMarshal.dll"
|
|
|
|
+ ${EndIf}
|
|
|
|
+
|
|
|
|
+- ; Only unregister the dll if the registration points to this installation
|
|
|
|
+- ReadRegStr $R1 HKCR "CLSID\${AccessibleHandlerCLSID}\InProcHandler32" ""
|
|
|
|
+- ${If} "$INSTDIR\AccessibleHandler.dll" == "$R1"
|
|
|
|
++ ${If} ${FileExists} "$INSTDIR\AccessibleHandler.dll"
|
|
|
|
+ ${UnregisterDLL} "$INSTDIR\AccessibleHandler.dll"
|
|
|
|
+ ${EndIf}
|
|
|
|
+
|
|
|
|
+ ; 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
|