mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-19 23:07:33 +09:00
Change format handlers to Basilisk.
This commit is contained in:
parent
9ee75644b9
commit
0c6ab64d91
4 changed files with 325 additions and 231 deletions
|
|
@ -10,12 +10,12 @@
|
|||
System::Call "kernel32::ProcessIdToSessionId(i $0, *i ${NSIS_MAX_STRLEN} r9)"
|
||||
|
||||
; Determine if we're the protected UserChoice default or not. If so fix the
|
||||
; start menu tile. In case there are 2 Firefox installations, we only do
|
||||
; start menu tile. In case there are 2 Basilisk installations, we only do
|
||||
; this if the application being updated is the default.
|
||||
ReadRegStr $0 HKCU "Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice" "ProgId"
|
||||
${If} $0 == "FirefoxURL"
|
||||
${If} $0 == "BasiliskURL"
|
||||
${AndIf} $9 != 0 ; We're not running in session 0
|
||||
ReadRegStr $0 HKCU "Software\Classes\FirefoxURL\shell\open\command" ""
|
||||
ReadRegStr $0 HKCU "Software\Classes\BasiliskURL\shell\open\command" ""
|
||||
${GetPathFromString} "$0" $0
|
||||
${GetParent} "$0" $0
|
||||
${If} ${FileExists} "$0"
|
||||
|
|
@ -327,13 +327,13 @@
|
|||
ClearErrors
|
||||
EnumRegKey $7 HKCR "${FILE_TYPE}" 0
|
||||
${If} ${Errors}
|
||||
WriteRegStr SHCTX "SOFTWARE\Classes\${FILE_TYPE}" "" "FirefoxHTML"
|
||||
WriteRegStr SHCTX "SOFTWARE\Classes\${FILE_TYPE}" "" "BasiliskHTML"
|
||||
${EndIf}
|
||||
WriteRegStr SHCTX "SOFTWARE\Classes\${FILE_TYPE}\OpenWithProgids" "FirefoxHTML" ""
|
||||
WriteRegStr SHCTX "SOFTWARE\Classes\${FILE_TYPE}\OpenWithProgids" "BasiliskHTML" ""
|
||||
!macroend
|
||||
!define AddAssociationIfNoneExist "!insertmacro AddAssociationIfNoneExist"
|
||||
|
||||
; Adds the protocol and file handler registry entries for making Firefox the
|
||||
; Adds the protocol and file handler registry entries for making Basilisk the
|
||||
; default handler (uses SHCTX).
|
||||
!macro SetHandlers
|
||||
${GetLongPath} "$INSTDIR\${FileMainEXE}" $8
|
||||
|
|
@ -341,30 +341,30 @@
|
|||
StrCpy $0 "SOFTWARE\Classes"
|
||||
StrCpy $2 "$\"$8$\" -osint -url $\"%1$\""
|
||||
|
||||
; Associate the file handlers with FirefoxHTML
|
||||
; Associate the file handlers with BasiliskHTML
|
||||
ReadRegStr $6 SHCTX "$0\.htm" ""
|
||||
${If} "$6" != "FirefoxHTML"
|
||||
WriteRegStr SHCTX "$0\.htm" "" "FirefoxHTML"
|
||||
${If} "$6" != "BasiliskHTML"
|
||||
WriteRegStr SHCTX "$0\.htm" "" "BasiliskHTML"
|
||||
${EndIf}
|
||||
|
||||
ReadRegStr $6 SHCTX "$0\.html" ""
|
||||
${If} "$6" != "FirefoxHTML"
|
||||
WriteRegStr SHCTX "$0\.html" "" "FirefoxHTML"
|
||||
${If} "$6" != "BasiliskHTML"
|
||||
WriteRegStr SHCTX "$0\.html" "" "BasiliskHTML"
|
||||
${EndIf}
|
||||
|
||||
ReadRegStr $6 SHCTX "$0\.shtml" ""
|
||||
${If} "$6" != "FirefoxHTML"
|
||||
WriteRegStr SHCTX "$0\.shtml" "" "FirefoxHTML"
|
||||
${If} "$6" != "BasiliskHTML"
|
||||
WriteRegStr SHCTX "$0\.shtml" "" "BasiliskHTML"
|
||||
${EndIf}
|
||||
|
||||
ReadRegStr $6 SHCTX "$0\.xht" ""
|
||||
${If} "$6" != "FirefoxHTML"
|
||||
WriteRegStr SHCTX "$0\.xht" "" "FirefoxHTML"
|
||||
${If} "$6" != "BasiliskHTML"
|
||||
WriteRegStr SHCTX "$0\.xht" "" "BasiliskHTML"
|
||||
${EndIf}
|
||||
|
||||
ReadRegStr $6 SHCTX "$0\.xhtml" ""
|
||||
${If} "$6" != "FirefoxHTML"
|
||||
WriteRegStr SHCTX "$0\.xhtml" "" "FirefoxHTML"
|
||||
${If} "$6" != "BasiliskHTML"
|
||||
WriteRegStr SHCTX "$0\.xhtml" "" "BasiliskHTML"
|
||||
${EndIf}
|
||||
|
||||
${AddAssociationIfNoneExist} ".pdf"
|
||||
|
|
@ -374,12 +374,12 @@
|
|||
${AddAssociationIfNoneExist} ".pdf"
|
||||
${AddAssociationIfNoneExist} ".webm"
|
||||
|
||||
; An empty string is used for the 5th param because FirefoxHTML is not a
|
||||
; An empty string is used for the 5th param because BasiliskHTML is not a
|
||||
; protocol handler
|
||||
${AddDisabledDDEHandlerValues} "FirefoxHTML" "$2" "$8,1" \
|
||||
${AddDisabledDDEHandlerValues} "BasiliskHTML" "$2" "$8,1" \
|
||||
"${AppRegName} HTML Document" ""
|
||||
|
||||
${AddDisabledDDEHandlerValues} "FirefoxURL" "$2" "$8,1" "${AppRegName} URL" \
|
||||
${AddDisabledDDEHandlerValues} "BasiliskURL" "$2" "$8,1" "${AppRegName} URL" \
|
||||
"true"
|
||||
; An empty string is used for the 4th & 5th params because the following
|
||||
; protocol handlers already have a display name and the additional keys
|
||||
|
|
@ -449,35 +449,35 @@
|
|||
WriteRegStr ${RegKey} "$0\Capabilities" "ApplicationIcon" "$8,0"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities" "ApplicationName" "${BrandShortName}"
|
||||
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\FileAssociations" ".htm" "FirefoxHTML"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\FileAssociations" ".html" "FirefoxHTML"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\FileAssociations" ".shtml" "FirefoxHTML"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\FileAssociations" ".xht" "FirefoxHTML"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\FileAssociations" ".xhtml" "FirefoxHTML"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\FileAssociations" ".htm" "BasiliskHTML"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\FileAssociations" ".html" "BasiliskHTML"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\FileAssociations" ".shtml" "BasiliskHTML"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\FileAssociations" ".xht" "BasiliskHTML"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\FileAssociations" ".xhtml" "BasiliskHTML"
|
||||
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\StartMenu" "StartMenuInternet" "$R9"
|
||||
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\URLAssociations" "ftp" "FirefoxURL"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\URLAssociations" "http" "FirefoxURL"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\URLAssociations" "https" "FirefoxURL"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\URLAssociations" "ftp" "BasiliskURL"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\URLAssociations" "http" "BasiliskURL"
|
||||
WriteRegStr ${RegKey} "$0\Capabilities\URLAssociations" "https" "BasiliskURL"
|
||||
|
||||
; Vista Registered Application
|
||||
WriteRegStr ${RegKey} "Software\RegisteredApplications" "${AppRegName}" "$0\Capabilities"
|
||||
!macroend
|
||||
!define SetStartMenuInternet "!insertmacro SetStartMenuInternet"
|
||||
|
||||
; The IconHandler reference for FirefoxHTML can end up in an inconsistent state
|
||||
; The IconHandler reference for BasiliskHTML can end up in an inconsistent state
|
||||
; due to changes not being detected by the IconHandler for side by side
|
||||
; installs (see bug 268512). The symptoms can be either an incorrect icon or no
|
||||
; icon being displayed for files associated with Firefox (does not use SHCTX).
|
||||
; icon being displayed for files associated with Basilisk (does not use SHCTX).
|
||||
!macro FixShellIconHandler RegKey
|
||||
ClearErrors
|
||||
ReadRegStr $1 ${RegKey} "Software\Classes\FirefoxHTML\ShellEx\IconHandler" ""
|
||||
ReadRegStr $1 ${RegKey} "Software\Classes\BasiliskHTML\ShellEx\IconHandler" ""
|
||||
${Unless} ${Errors}
|
||||
ReadRegStr $1 ${RegKey} "Software\Classes\FirefoxHTML\DefaultIcon" ""
|
||||
ReadRegStr $1 ${RegKey} "Software\Classes\BasiliskHTML\DefaultIcon" ""
|
||||
${GetLongPath} "$INSTDIR\${FileMainEXE}" $2
|
||||
${If} "$1" != "$2,1"
|
||||
WriteRegStr ${RegKey} "Software\Classes\FirefoxHTML\DefaultIcon" "" "$2,1"
|
||||
WriteRegStr ${RegKey} "Software\Classes\BasiliskHTML\DefaultIcon" "" "$2,1"
|
||||
${EndIf}
|
||||
${EndUnless}
|
||||
!macroend
|
||||
|
|
@ -612,7 +612,7 @@
|
|||
; HKCU Software\Classes keys when associating handlers. The fix uses the merged
|
||||
; view in HKCR to check for existance of an existing association. This macro
|
||||
; cleans affected installations by removing the HKLM and HKCU value if it is set
|
||||
; to FirefoxHTML when there is a value for PersistentHandler or by removing the
|
||||
; to BasiliskHTML when there is a value for PersistentHandler or by removing the
|
||||
; HKCU value when the HKLM value has a value other than an empty string.
|
||||
!macro FixBadFileAssociation FILE_TYPE
|
||||
; Only delete the default value in case the key has values for OpenWithList,
|
||||
|
|
@ -621,16 +621,16 @@
|
|||
ReadRegStr $1 HKLM "Software\Classes\${FILE_TYPE}" ""
|
||||
ReadRegStr $2 HKCR "${FILE_TYPE}\PersistentHandler" ""
|
||||
${If} "$2" != ""
|
||||
; Since there is a persistent handler remove FirefoxHTML as the default
|
||||
; value from both HKCU and HKLM if it set to FirefoxHTML.
|
||||
${If} "$0" == "FirefoxHTML"
|
||||
; Since there is a persistent handler remove BasiliskHTML as the default
|
||||
; value from both HKCU and HKLM if it set to BasiliskHTML.
|
||||
${If} "$0" == "BasiliskHTML"
|
||||
DeleteRegValue HKCU "Software\Classes\${FILE_TYPE}" ""
|
||||
${EndIf}
|
||||
${If} "$1" == "FirefoxHTML"
|
||||
${If} "$1" == "BasiliskHTML"
|
||||
DeleteRegValue HKLM "Software\Classes\${FILE_TYPE}" ""
|
||||
${EndIf}
|
||||
${ElseIf} "$0" == "FirefoxHTML"
|
||||
; Since KHCU is set to FirefoxHTML remove FirefoxHTML as the default value
|
||||
${ElseIf} "$0" == "BasiliskHTML"
|
||||
; Since KHCU is set to BasiliskHTML remove BasiliskHTML as the default value
|
||||
; from HKCU if HKLM is set to a value other than an empty string.
|
||||
${If} "$1" != ""
|
||||
DeleteRegValue HKCU "Software\Classes\${FILE_TYPE}" ""
|
||||
|
|
@ -686,17 +686,17 @@
|
|||
; Only set the file and protocol handlers if the existing one under HKCR is
|
||||
; for this install location.
|
||||
|
||||
${IsHandlerForInstallDir} "FirefoxHTML" $R9
|
||||
${IsHandlerForInstallDir} "BasiliskHTML" $R9
|
||||
${If} "$R9" == "true"
|
||||
; An empty string is used for the 5th param because FirefoxHTML is not a
|
||||
; An empty string is used for the 5th param because BasiliskHTML is not a
|
||||
; protocol handler.
|
||||
${AddDisabledDDEHandlerValues} "FirefoxHTML" "$2" "$8,1" \
|
||||
${AddDisabledDDEHandlerValues} "BasiliskHTML" "$2" "$8,1" \
|
||||
"${AppRegName} HTML Document" ""
|
||||
${EndIf}
|
||||
|
||||
${IsHandlerForInstallDir} "FirefoxURL" $R9
|
||||
${IsHandlerForInstallDir} "BasiliskURL" $R9
|
||||
${If} "$R9" == "true"
|
||||
${AddDisabledDDEHandlerValues} "FirefoxURL" "$2" "$8,1" \
|
||||
${AddDisabledDDEHandlerValues} "BasiliskURL" "$2" "$8,1" \
|
||||
"${AppRegName} URL" "true"
|
||||
${EndIf}
|
||||
|
||||
|
|
@ -780,8 +780,8 @@
|
|||
${RegCleanAppHandler} "chrome"
|
||||
|
||||
; Remove protocol handler registry keys added by the MS shim
|
||||
DeleteRegKey HKLM "Software\Classes\Firefox.URL"
|
||||
DeleteRegKey HKCU "Software\Classes\Firefox.URL"
|
||||
DeleteRegKey HKLM "Software\Classes\Basilisk.URL"
|
||||
DeleteRegKey HKCU "Software\Classes\Basilisk.URL"
|
||||
|
||||
; Delete gopher from Capabilities\URLAssociations if it is present.
|
||||
${StrFilter} "${FileMainEXE}" "+" "" "" $R9
|
||||
|
|
@ -792,10 +792,10 @@
|
|||
DeleteRegValue HKLM "$0\Capabilities\URLAssociations" "gopher"
|
||||
${EndUnless}
|
||||
|
||||
; Delete gopher from the user's UrlAssociations if it points to FirefoxURL.
|
||||
; Delete gopher from the user's UrlAssociations if it points to BasiliskURL.
|
||||
StrCpy $0 "Software\Microsoft\Windows\Shell\Associations\UrlAssociations\gopher"
|
||||
ReadRegStr $2 HKCU "$0\UserChoice" "Progid"
|
||||
${If} "$2" == "FirefoxURL"
|
||||
${If} "$2" == "BasiliskURL"
|
||||
DeleteRegKey HKCU "$0"
|
||||
${EndIf}
|
||||
!macroend
|
||||
|
|
@ -943,7 +943,7 @@
|
|||
${If} $AddTaskbarSC == ""
|
||||
; No need to check the default on Win8 and later
|
||||
${If} ${AtMostWin2008R2}
|
||||
; Check if the Firefox is the http handler for this user
|
||||
; Check if the Basilisk is the http handler for this user
|
||||
SetShellVarContext current ; Set SHCTX to the current user
|
||||
${IsHandlerForInstallDir} "http" $R9
|
||||
${If} $TmpVal == "HKLM"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue