Priporočamo, da za vse namestitve Firefoxa pustite vklopljene samodejne posodobitve, da zagotovite namestitev najnovejših varnostnih popravkov in razpoložljivost vseh funkcij, vendar vaše specifično okolje morda preprečuje samodejne posodobitve.
V vaših poslovnih okoljih lahko uporabljate tako Firefox Rapid Release kot Firefox Extended Support Release. Če vas skrbijo pogoste velike posodobitve, priporočamo, da si ogledate članek Choose a Firefox update channel, kjer boste izvedeli več o Firefox Extended Support Release.
| Pogostost večjih posodobitev | Obseg večjih posodobitev | Pogostost manjših posodobitev | Obseg manjših posodobitev | |
|---|---|---|---|---|
| ESR | Vsako leto | Nove funkcije in popravki hroščev, dostavljeni v zadnjih 12 mesecih. | Vsake 4 tedne ali po potrebi | Popravljanje kritičnih hroščev stabilnosti ali varnosti |
| RR | Vsake štiri tedne | Nove funkcije in popravki hroščev, dostavljeni v zadnjih 4 tednih | Po potrebi med večjimi izdajami | Popravljanje kritičnih hroščev stabilnosti ali varnosti |
Onemogočanje posodobitev Firefoxa
Samodejne posodobitve so privzeto omogočene, vendar jih lahko onemogočite s pravilom DisableAppUpdate.
Ko so posodobitve omogočene, jih je mogoče namestiti tiho brez odobritve uporabnika, tako da omogočite pravilo AppAutoUpdate.
Odpravljanje težav s posodobitvami Firefoxa
Če delovna postaja ne prejema posodobitev Firefoxa, lahko naslednja preverjanja v PowerShellu pomagajo ugotoviti osnovni vzrok.
Preverite ključe registra lokalnega pravilnika skupine (GPO)
Zaženite naslednji ukaz:
Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Mozilla\Firefox" |
Select-Object DisableAppUpdate, AppAutoUpdate
Pričakovane vrednosti:
| Vrednost registra | Pričakovana vrednost |
|---|---|
DisableAppUpdate
| 0 |
AppAutoUpdate
| 1 |
Če te vrednosti niso nastavljene, kot je pričakovano, so posodobitve Firefoxa morda onemogočene z lokalnim ali domenskim pravilnikom skupine.
Preverite nameščeno različico Firefoxa
Zaženite naslednji ukaz PowerShell:
Get-ChildItem -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" |
Where-Object { $_.PSChildName -like "Mozilla Firefox*" } |
ForEach-Object {
Get-ItemProperty $_.PsPath |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate
}
Primerjajte nameščeno različico z najnovejšo različico Firefox ESR, ki je na voljo na spletnem mestu Mozille.
Preverite načrtovano opravilo
Firefox se za prenos in namestitev posodobitev zanaša na načrtovano opravilo v ozadju.
Zaženite naslednji ukaz PowerShell:
Get-ScheduledTask |
Where-Object { $_.TaskName -like "*Firefox Background Update*" } |
ForEach-Object { Get-ScheduledTaskInfo $_ }
-> Zagotovite, da:
- Opravilo obstaja
- Opravilo je omogočeno
- Opravilo se uspešno izvaja brez napak
Preverite storitev Mozilla Maintenance Service
V sistemu Windows lahko posodobitve Firefoxa zahtevajo, da je storitev Mozilla Maintenance Service nameščena in zagnana. Ta storitev omogoča Firefoxu, da namesti posodobitve, ne da bi zahteval skrbniške pravice.
Preverite, ali storitev obstaja in kakšno je njeno stanje
Zaženite naslednji ukaz PowerShell:
Get-Service -Name MozillaMaintenance -ErrorAction SilentlyContinue |
Select-Object Name, DisplayName, Status, StartType
-> Pričakovano vedenje:
- Storitev obstaja
- Stanje je
Running(aliStopped, vendar se lahko zažene) -
StartTypeje nastavljen naAutomaticaliManual - Če storitev manjka, Firefox morda ne bo mogel samodejno namestiti posodobitev.
Ročno zaženite storitev (če je potrebno)
Če storitev obstaja, vendar se ne izvaja, jo poskusite zagnati. Zaženite naslednji ukaz PowerShell:
Start-Service -Name MozillaMaintenance
Ponovno preverite, ali se storitev zažene brez napak.
Ponovno namestite storitev Mozilla Maintenance Service
Če storitev manjka ali je poškodovana, jo lahko ponovno namestite z namestitvenim programom Firefoxa:
- Prenesite namestitveni program Firefoxa, ki ustreza vaši namestitvi (ESR ali standardna izdaja).
- Zaženite namestitveni program kot skrbnik.
- Zagotovite, da je izbrana možnost Install Mozilla Maintenance Service.
Po namestitvi ponovno preverite stanje storitve.
Poziv UAC, ki med posodobitvami zahteva skrbniške poverilnice
Na nekaterih delovnih postajah posodobitev sproži poziv UAC z naslovom Firefox Updater Software, ki zahteva skrbniške poverilnice, čeprav je storitev Mozilla Maintenance Service nameščena in deluje pravilno. Standardni uporabniki ne morejo dokončati posodobitve in poziv se ponovno prikaže ob vsakem zagonu Firefoxa.
Vzrok
Pred uporabo storitve Maintenance Service posodabljalnik Firefoxa preveri konfiguracijo UAC na delovni postaji (test IsUnpromptedElevation v izvorni kodi posodabljalnika). Če je UAC nastavljen za tiho povišanje pravic, Firefox predpostavlja, da se bo povišanje zgodilo brez poziva – kot bi se zgodilo za skrbnika – in preskoči storitev Maintenance Service. Če pa prijavljeni uporabnik dejansko ni skrbnik, povišanje ni tiho in Windows namesto tega prikaže poziv za vnos poverilnic UAC.
To se zgodi le, če so izpolnjeni vsi trije naslednji pogoji:
-
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ConsentPromptBehaviorAdminje nastavljen na0(varnostna možnost Nadzor uporabniškega računa: vedenje poziva za povišanje pravic za skrbnike v skrbniškem načinu odobritve = Povišaj brez poziva; privzeta vrednost v sistemu Windows je5) -
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\PromptOnSecureDesktopje nastavljen na0(varnostna možnost Nadzor uporabniškega računa: preklop na varno namizje ob pozivu za povišanje pravic = Onemogočeno; privzeta vrednost v sistemu Windows je1) - Prijavljeni uporabnik ima filtriran žeton UAC: je član privilegirane skupine (skrbniki, operaterji varnostnega kopiranja, napredni uporabniki itd.), vključno s skupinami, označenimi z deny-only, ali imetnik občutljivih pravic (kot sta
SeBackupPrivilegealiSeDebugPrivilege), dodeljenih prek pravilnika skupine. Upoštevajte, da filtriranje na podlagi pravic ni vidno vwhoami /groups.
Diagnoza
Preverite dnevnik posodabljalnika za naslednji podpis:
Get-Content "C:\ProgramData\Mozilla-1de4eec8-1241-4177-a864-e594e8d1fb38\updates\*\updates\0\update.log"
...
After checking IsUnpromptedElevation, useService=false
Elevating via a UAC prompt
Writing status to file: failed: 9
...
Vrstica useService=false po preverjanju IsUnpromptedElevation potrjuje ta vzrok (napaka 9 pomeni, da je uporabnik preklical poziv UAC). Opomba: po prvi napaki naslednji dnevniki kažejo useService=false od prve vrstice naprej, brez vrstic After checking... (preostalo stanje, glejte Rešitev).
Nato preverite vrednosti UAC in stanje čakajoče posodobitve:
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v PromptOnSecureDesktop
Get-Content "C:\ProgramData\Mozilla-1de4eec8-1241-4177-a864-e594e8d1fb38\updates\*\updates\0\update.status"
Možne vrednosti update.status:
| Vrednost | Pomen |
|---|---|
pending-service
| Posodobitev je prenesena, uporabila se bo storitev Maintenance Service (normalno) |
pending
| Firefox je za to posodobitev opustil storitev Maintenance Service (preostalo stanje po napaki) |
applied-service
| Posodobitev je bila uspešno nameščena prek storitve Maintenance Service |
Rešitev
1. Zaprite Firefox.
2. Zaženite naslednje ukaze v PowerShellu s povišanimi pravicami:
# Obnovite privzeto vedenje poziva za povišanje pravic UAC za skrbnike
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 5 /f
# Ponovno omogočite varno namizje za pozive za povišanje pravic
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v PromptOnSecureDesktop /t REG_DWORD /d 1 /f
# Počistite preostalo stanje posodobitve (sicer se poziv prikaže še zadnjič)
Remove-Item "C:\ProgramData\Mozilla-1de4eec8-1241-4177-a864-e594e8d1fb38\updates\*\*" -Recurse -Force
3. Zaženite Firefox, pojdite v Pomoč > O Firefoxu in počakajte na Znova zaženite za posodobitev Firefoxa.
4. Znova zaženite Firefox: posodobitev se mora namestiti brez poziva UAC.
-> Opombe:
- Obnovitev katere koli od obeh vrednosti UAC je dovolj, da se prekine napačno stanje; obnovitev obeh povrne delovno postajo na privzete nastavitve sistema Windows.
- Če te vrednosti UAC uveljavlja domenski pravilnik skupine, se bodo ponastavile ob naslednji osvežitvi pravilnika (preverite z
gpupdate /force) – popravek je treba nato uporabiti na ravni GPO. - Druga možnost je, da težavo odpravite tako, da uporabnika odstranite iz privilegirane skupine (nato se odjavite in ponovno prijavite).
Preverjanje
Po posodobitvi nov update.log vsebuje After checking IsUnpromptedElevation, useService=true in update.status kaže applied-service.
Preverite prenose BITS (Background Intelligent Transfer Service)
Firefox za prenos posodobitev v ozadju uporablja BITS.
Zaženite naslednji ukaz PowerShell:
Get-BitsTransfer |
Where-Object { $_.DisplayName -match 'mozilla' -or $_.RemoteName -match 'mozilla' } |
ForEach-Object {
$job = $_
foreach ($file in $job.FileList) {
[PSCustomObject]@{
DisplayName = $job.DisplayName
JobState = $job.JobState
BytesTransferredMB = [math]::Round($file.BytesTransferred / 1MB, 2)
BytesRemainingMB = [math]::Round(($file.BytesTotal - $file.BytesTransferred) / 1MB, 2)
ProgressPercent = if ($file.BytesTotal -gt 0) {
[math]::Round(($file.BytesTransferred / $file.BytesTotal * 100), 2)
} else { 0 }
RemoteURL = $file.RemoteName
LocalPath = $file.LocalName
}
}
}
-> Kaj preveriti
- JobState prikazuje trenutno stanje prenosa (prenašanje, prekinjeno, končano ali napaka).
- ProgressPercent označuje napredek prenosa.
- RemoteURL prikazuje URL, ki ga Firefox uporablja za pridobivanje posodobitve.
-> Če je prenos blokiran
Če napredek ne napreduje ali opravilo ne uspe, preverite, ali URL, prikazan v RemoteURL, ni blokiran s strani vašega omrežja, požarnega zidu ali posredniškega strežnika.
Za potrditev kopirajte in prilepite URL v brskalnik ter preverite, ali se prenos uspešno začne.
Seznam datotek, povezanih s Firefoxom, v C:\ProgramData
Datoteke posodobitev Firefoxa se prenesejo in shranijo na naslednjo lokacijo.
Zaženite naslednji ukaz PowerShell:
Get-ChildItem -Path "C:\ProgramData\Mozilla-*" -Recurse |
Select-Object @{ Name="Path"; Expression={$_.FullName} },
@{ Name="Type"; Expression={ if ($_.PSIsContainer) { "Directory" } else { "File" } } },
@{ Name="Size"; Expression={$_.Length} },
@{ Name="LastModified"; Expression={$_.LastWriteTime}
}
To pomaga preveriti, ali so bile datoteke posodobitev prenesene, in prepoznati nepopolne ali zaustavljene datoteke.