зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1517642: Make the installer and updater disable the launcher process by default on beta and release; r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D15758 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
f11cf08512
Коммит
d56e504ec2
|
@ -79,6 +79,15 @@
|
|||
!define AccessibleHandlerCLSID "{4A195748-DCA2-45FB-9295-0A139E76A9E7}"
|
||||
!endif
|
||||
|
||||
#ifdef MOZ_LAUNCHER_PROCESS
|
||||
!define MOZ_LAUNCHER_PROCESS
|
||||
!define MOZ_LAUNCHER_SUBKEY "Software\Mozilla\${AppName}\Launcher"
|
||||
#endif
|
||||
|
||||
#ifdef RELEASE_OR_BETA
|
||||
!define RELEASE_OR_BETA
|
||||
#endif
|
||||
|
||||
# Due to official and beta using the same branding this is needed to
|
||||
# differentiante between the url used by the stub for downloading.
|
||||
!if "@MOZ_UPDATE_CHANNEL@" == "beta"
|
||||
|
|
|
@ -489,6 +489,12 @@ Section "-Application" APP_IDX
|
|||
${SetAppLSPCategories} ${LSP_CATEGORIES}
|
||||
${EndIf}
|
||||
|
||||
!ifdef MOZ_LAUNCHER_PROCESS
|
||||
!ifdef RELEASE_OR_BETA
|
||||
${DisableLauncherProcessByDefault}
|
||||
!endif
|
||||
!endif
|
||||
|
||||
; Create shortcuts
|
||||
${LogHeader} "Adding Shortcuts"
|
||||
|
||||
|
|
|
@ -162,6 +162,13 @@
|
|||
${EndIf}
|
||||
${EndIf}
|
||||
!endif
|
||||
|
||||
!ifdef MOZ_LAUNCHER_PROCESS
|
||||
!ifdef RELEASE_OR_BETA
|
||||
${DisableLauncherProcessByDefault}
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!macroend
|
||||
!define PostUpdate "!insertmacro PostUpdate"
|
||||
|
||||
|
@ -1607,3 +1614,22 @@ FunctionEnd
|
|||
!define SetAsDefaultAppUser "Call SetAsDefaultAppUser"
|
||||
|
||||
!endif ; NO_LOG
|
||||
|
||||
!ifdef MOZ_LAUNCHER_PROCESS
|
||||
!ifdef RELEASE_OR_BETA
|
||||
!macro DisableLauncherProcessByDefault
|
||||
ClearErrors
|
||||
${ReadRegQWORD} $0 HKCU ${MOZ_LAUNCHER_SUBKEY} "$INSTDIR\${FileMainEXE}|Launcher"
|
||||
${If} ${Errors}
|
||||
ClearErrors
|
||||
${ReadRegQWORD} $0 HKCU ${MOZ_LAUNCHER_SUBKEY} "$INSTDIR\${FileMainEXE}|Browser"
|
||||
${If} ${Errors}
|
||||
ClearErrors
|
||||
; New install that hasn't seen this yet; disable by default
|
||||
${WriteRegQWORD} HKCU ${MOZ_LAUNCHER_SUBKEY} "$INSTDIR\${FileMainEXE}|Browser" 0
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
!macroend
|
||||
!define DisableLauncherProcessByDefault "!insertmacro DisableLauncherProcessByDefault"
|
||||
!endif
|
||||
!endif
|
||||
|
|
|
@ -411,6 +411,12 @@ Section "Uninstall"
|
|||
${UnregisterDLL} "$INSTDIR\AccessibleHandler.dll"
|
||||
${EndIf}
|
||||
|
||||
!ifdef MOZ_LAUNCHER_PROCESS
|
||||
DeleteRegValue HKCU ${MOZ_LAUNCHER_SUBKEY} "$INSTDIR\${FileMainEXE}|Launcher"
|
||||
DeleteRegValue HKCU ${MOZ_LAUNCHER_SUBKEY} "$INSTDIR\${FileMainEXE}|Browser"
|
||||
DeleteRegValue HKCU ${MOZ_LAUNCHER_SUBKEY} "$INSTDIR\${FileMainEXE}|Image"
|
||||
!endif
|
||||
|
||||
${un.RemovePrecompleteEntries} "false"
|
||||
|
||||
${If} ${FileExists} "$INSTDIR\defaults\pref\channel-prefs.js"
|
||||
|
|
|
@ -8402,3 +8402,71 @@ end:
|
|||
Pop $1
|
||||
Pop $0
|
||||
!macroend
|
||||
|
||||
Function WriteRegQWORD
|
||||
; Stack contents:
|
||||
; VALUE, VALUE_NAME, SUBKEY, ROOTKEY
|
||||
Exch $3 ; $3, VALUE_NAME, SUBKEY, ROOTKEY
|
||||
Exch 1 ; VALUE_NAME, $3, SUBKEY, ROOTKEY
|
||||
Exch $2 ; $2, $3, SUBKEY, ROOTKEY
|
||||
Exch 2 ; SUBKEY, $3, $2, ROOTKEY
|
||||
Exch $1 ; $1, $3, $2, ROOTKEY
|
||||
Exch 3 ; ROOTKEY, $3, $2, $1
|
||||
Exch $0 ; $0, $3, $2, $1
|
||||
System::Call "advapi32::RegSetKeyValueW(p r0, w r1, w r2, i 11, *l r3, i 8) i.r0"
|
||||
${IfNot} $0 = 0
|
||||
SetErrors
|
||||
${EndIf}
|
||||
Pop $0
|
||||
Pop $3
|
||||
Pop $2
|
||||
Pop $1
|
||||
FunctionEnd
|
||||
!macro WriteRegQWORD ROOTKEY SUBKEY VALUE_NAME VALUE
|
||||
${If} "${ROOTKEY}" == "HKCR"
|
||||
Push 0x80000000
|
||||
${ElseIf} "${ROOTKEY}" == "HKCU"
|
||||
Push 0x80000001
|
||||
${ElseIf} "${ROOTKEY}" == "HKLM"
|
||||
Push 0x80000002
|
||||
${Endif}
|
||||
Push "${SUBKEY}"
|
||||
Push "${VALUE_NAME}"
|
||||
System::Int64Op ${VALUE} + 0 ; The result is pushed on the stack
|
||||
Call WriteRegQWORD
|
||||
!macroend
|
||||
!define WriteRegQWORD "!insertmacro WriteRegQWORD"
|
||||
|
||||
Function ReadRegQWORD
|
||||
; Stack contents:
|
||||
; VALUE_NAME, SUBKEY, ROOTKEY
|
||||
Exch $2 ; $2, SUBKEY, ROOTKEY
|
||||
Exch 1 ; SUBKEY, $2, ROOTKEY
|
||||
Exch $1 ; $1, $2, ROOTKEY
|
||||
Exch 2 ; ROOTKEY, $2, $1
|
||||
Exch $0 ; $0, $2, $1
|
||||
System::Call "advapi32::RegGetValueW(p r0, w r1, w r2, i 0x48, p 0, *l s, *i 8) i.r0"
|
||||
${IfNot} $0 = 0
|
||||
SetErrors
|
||||
${EndIf}
|
||||
; VALUE, $0, $2, $1
|
||||
Exch 3 ; $1, $0, $2, VALUE
|
||||
Pop $1 ; $0, $2, VALUE
|
||||
Pop $0 ; $2, VALUE
|
||||
Pop $2 ; VALUE
|
||||
FunctionEnd
|
||||
!macro ReadRegQWORD DEST ROOTKEY SUBKEY VALUE_NAME
|
||||
${If} "${ROOTKEY}" == "HKCR"
|
||||
Push 0x80000000
|
||||
${ElseIf} "${ROOTKEY}" == "HKCU"
|
||||
Push 0x80000001
|
||||
${ElseIf} "${ROOTKEY}" == "HKLM"
|
||||
Push 0x80000002
|
||||
${Endif}
|
||||
Push "${SUBKEY}"
|
||||
Push "${VALUE_NAME}"
|
||||
Call ReadRegQWORD
|
||||
Pop ${DEST}
|
||||
!macroend
|
||||
!define ReadRegQWORD "!insertmacro ReadRegQWORD"
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче