Ми радимо залишати ввімкненими автоматичні оновлення для всіх розгорнутих Firefox, щоб переконатися, що застосовуються найновіші виправлення безпеки та доступні всі функції, але ваше конкретне середовище може перешкоджати автоматичним оновленням.
Як Firefox Rapid Release, так і Firefox Extended Support Release можна використовувати у вашому корпоративному середовищі. Якщо ви стурбовані частими великими оновленнями, рекомендуємо переглянути Вибір каналу оновлення Firefox, щоб дізнатись більше про Firefox Extended Support Release.
| Частота основних оновлень | Часові межі основних оновлень | Частота другорядних оновлень | Часові межі другорядних оновлень | |
|---|---|---|---|---|
| ESR | Щороку | Нові функції та виправлення помилок додаються за останні 12 місяців. | Що 2 тижні або якщо необхідно | Виправлення критичних помилок стабільності або усунення помилок безпеки |
| RR | Що два тижні | Нові функції та виправлення помилок додаються за останні 2 тижні | За необхідності між основними випусками | Виправлення критичних помилок стабільності або усунення помилок безпеки |
Вимкнути оновлення Firefox
Автоматичні оновлення типово увімкнено, але ви можете вимкнути їх за допомогою політики DisableAppUpdate.
Коли оновлення ввімкнено, їх можна встановлювати автоматично без схвалення користувача, увімкнувши політику AppAutoUpdate.
Усунення проблем з оновленням Firefox
Якщо робоча станція не отримує оновлення Firefox, наступні перевірки PowerShell можуть допомогти визначити першопричину.
Перевірка ключів реєстру локальної групової політики (GPO)
Виконайте таку команду:
Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Mozilla\Firefox" |
Select-Object DisableAppUpdate, AppAutoUpdate
Очікувані значення:
| Значення реєстру | Очікуване значення |
|---|---|
DisableAppUpdate
| 0 |
AppAutoUpdate
| 1 |
Якщо ці значення не встановлено належним чином, оновлення Firefox може бути вимкнено локальною або доменною груповою політикою.
Перевірка встановленої версії Firefox
Виконайте таку команду 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
}
Порівняйте встановлену версію з останньою версією Firefox ESR, доступною на вебсайті Mozilla.
Перевірка запланованого завдання
Firefox покладається на фонове заплановане завдання для завантаження та застосування оновлень.
Виконайте таку команду PowerShell:
Get-ScheduledTask |
Where-Object { $_.TaskName -like "*Firefox Background Update*" } |
ForEach-Object { Get-ScheduledTaskInfo $_ }
-> Переконайтеся, що:
- Завдання існує
- Завдання увімкнено
- Завдання виконується успішно без помилок
Перевірка служби Mozilla Maintenance Service
У Windows для оновлення Firefox може знадобитися, щоб служба Mozilla Maintenance Service була встановлена та запущена. Ця служба дозволяє Firefox застосовувати оновлення, не вимагаючи прав адміністратора.
Перевірка наявності та стану служби
Виконайте таку команду PowerShell:
Get-Service -Name MozillaMaintenance -ErrorAction SilentlyContinue |
Select-Object Name, DisplayName, Status, StartType
-> Очікувана поведінка:
- Служба існує
- Статус —
Running(абоStopped, але може запуститися) -
StartTypeвстановлено наAutomaticабоManual - Якщо служба відсутня, Firefox може не мати змоги застосовувати оновлення автоматично.
Запустіть службу вручну (за потреби)
Якщо служба існує, але не запущена, спробуйте її запустити. Виконайте таку команду PowerShell:
Start-Service -Name MozillaMaintenance
Перевірте ще раз, чи служба запускається без помилок.
Перевстановлення служби Mozilla Maintenance Service
Якщо служба відсутня або пошкоджена, її можна перевстановити за допомогою інсталятора Firefox:
- Завантажте інсталятор Firefox, що відповідає вашому розгортанню (ESR або стандартний випуск).
- Запустіть інсталятор від імені адміністратора.
- Переконайтеся, що вибрано Install Mozilla Maintenance Service.
Після встановлення перевірте стан служби ще раз.
Запит UAC на отримання облікових даних адміністратора під час оновлень
На деяких робочих станціях оновлення викликає запит UAC під назвою Firefox Updater Software, який вимагає облікові дані адміністратора, навіть якщо служба Mozilla Maintenance Service встановлена та справна. Звичайні користувачі не можуть завершити оновлення, і запит з'являється знову при кожному запуску Firefox.
Причина
Перед використанням служби Maintenance Service, оновлювач Firefox перевіряє конфігурацію UAC робочої станції (тест IsUnpromptedElevation у вихідному коді оновлювача). Якщо UAC налаштовано на тихе підвищення прав, Firefox припускає, що підвищення відбудеться без будь-яких запитів — як це було б для адміністратора — і пропускає службу Maintenance Service. Але якщо користувач, що увійшов у систему, насправді не є адміністратором, підвищення прав не є тихим, і Windows натомість відображає запит на облікові дані UAC.
Це трапляється лише тоді, коли виконуються всі три наступні умови:
-
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ConsentPromptBehaviorAdminвстановлено на0(параметр безпеки Контроль облікових записів користувачів: поведінка запиту на підвищення прав для адміністраторів у режимі схвалення адміністратором = Підвищувати без запиту; типове значення для Windows —5) -
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\PromptOnSecureDesktopвстановлено на0(параметр безпеки Контроль облікових записів користувачів: перемикатися на безпечний робочий стіл під час запиту на підвищення прав = Вимкнено; типове значення для Windows —1) - Користувач, що увійшов у систему, має фільтрований токен UAC: є членом привілейованої групи (Адміністратори, Оператори резервного копіювання, Досвідчені користувачі тощо), включаючи групи, позначені як лише заборона, або має конфіденційні привілеї (наприклад,
SeBackupPrivilegeабоSeDebugPrivilege), надані через групову політику. Зауважте, що фільтрація на основі привілеїв не відображається вwhoami /groups.
Діагностика
Перевірте журнал оновлювача на наявність наступного підпису:
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
...
Рядок useService=false після перевірки IsUnpromptedElevation підтверджує цю причину (помилка 9 означає, що користувач скасував запит UAC). Примітка: після першої невдачі наступні журнали показують useService=false з першого рядка, без рядків After checking... (залишковий стан, див. Рішення).
Потім перевірте значення UAC та стан очікування оновлення:
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"
Можливі значення update.status:
| Значення | Опис |
|---|---|
pending-service
| Оновлення завантажено, буде використано службу Maintenance Service (нормальний стан) |
pending
| Firefox відмовився від використання служби Maintenance Service для цього оновлення (залишковий стан після збою) |
applied-service
| Оновлення успішно застосовано через службу Maintenance Service |
Рішення
- Закрийте Firefox.
- Виконайте наступні команди в PowerShell з підвищеними правами:
- Відновити типову поведінку запиту на підвищення прав UAC для адміністраторів
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 5 /f
- Повторно ввімкнути безпечний робочий стіл для запитів на підвищення прав
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v PromptOnSecureDesktop /t REG_DWORD /d 1 /f
- Очистити залишковий стан оновлення (інакше запит з'явиться востаннє)
Remove-Item "C:\ProgramData\Mozilla-1de4eec8-1241-4177-a864-e594e8d1fb38\updates\*\*" -Recurse -Force
- Відновити типову поведінку запиту на підвищення прав UAC для адміністраторів
- Запустіть Firefox, перейдіть до Довідка > Про Firefox і дочекайтеся Перезапустити для оновлення Firefox.
- Перезапустіть Firefox: оновлення має бути застосовано без будь-яких запитів UAC.
-> Примітки:
- Відновлення будь-якого з двох значень UAC достатньо, щоб усунути несправну умову; відновлення обох повертає робочу станцію до типових налаштувань Windows.
- Якщо ці значення UAC застосовуються доменною груповою політикою, вони будуть скинуті під час наступного оновлення політики (перевірте за допомогою
gpupdate /force) — тоді виправлення має бути застосовано на рівні GPO. - Крім того, видалення користувача з привілейованої групи (з подальшим виходом із системи та повторним входом) також вирішує проблему.
Перевірка
Після оновлення новий update.log містить After checking IsUnpromptedElevation, useService=true, а update.status показує applied-service.
Перевірка передач BITS (Background Intelligent Transfer Service)
Firefox використовує BITS для завантаження оновлень у фоновому режимі.
Виконайте таку команду 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
}
}
}
-> Що перевіряти
- JobState показує поточний стан передачі (transferring, suspended, completed, або error).
- ProgressPercent показує хід завантаження.
- RemoteURL показує URL-адресу, яку Firefox використовує для отримання оновлення.
-> Якщо завантаження заблоковано
Якщо прогрес не просувається або завдання завершується з помилкою, переконайтеся, що URL-адреса, показана в RemoteURL, не заблокована вашою мережею, брандмауером або проксі.
Щоб підтвердити, скопіюйте та вставте URL-адресу в браузер і перевірте, чи завантаження починається успішно.
Список файлів, пов'язаних з Firefox, у C:\ProgramData
Файли оновлення Firefox завантажуються та зберігаються в такому місці.
Виконайте таку команду 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}
}
Це допомагає перевірити, чи були завантажені файли оновлення, та виявити неповні або заблоковані файли.