Recomendamos mantener las actualizaciones automáticas habilitadas para todas las implementaciones de Firefox para garantizar que se apliquen los últimos parches de seguridad y que todas las funciones estén disponibles, pero es posible que tu entorno específico impida las actualizaciones automáticas.
Tanto Firefox Rapid Release como Firefox Extended Support Release se pueden utilizar en tus entornos empresariales. Si te preocupan las actualizaciones grandes y frecuentes, te recomendamos que consultes Elegir un canal de actualización de Firefox para obtener más información sobre Firefox Extended Support Release.
| Frecuencia de las actualizaciones mayores | Alcance de las actualizaciones mayores | Frecuencia de las actualizaciones menores | Alcance de las actualizaciones menores | |
|---|---|---|---|---|
| ESR | Cada año | Nuevas funciones entregadas y errores corregidos en los últimos 12 meses. | Cada 2 semanas o cuando sea necesario | Corrección de errores críticos de estabilidad o seguridad |
| RR | Cada dos semanas | Nuevas funciones entregadas y errores corregidos en las últimas 2 semanas | Cuando sea necesario entre las versiones mayores | Corrección de errores críticos de estabilidad o seguridad |
Deshabilitar las actualizaciones de Firefox
Las actualizaciones automáticas están habilitadas de forma predeterminada, pero puedes deshabilitarlas usando la política DisableAppUpdate.
Cuando las actualizaciones están habilitadas, se pueden instalar silenciosamente sin la aprobación del usuario habilitando la política AppAutoUpdate.
Solución de problemas con las actualizaciones de Firefox
Si una estación de trabajo no recibe las actualizaciones de Firefox, las siguientes comprobaciones de PowerShell pueden ayudar a identificar la causa raíz.
Comprobar las claves de registro de la Directiva de grupo local (GPO)
Ejecuta el siguiente comando:
Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Mozilla\Firefox" |
Select-Object DisableAppUpdate, AppAutoUpdate
Valores esperados:
| Valor del registro | Valor esperado |
|---|---|
DisableAppUpdate
| 0 |
AppAutoUpdate
| 1 |
Si estos valores no están configurados como se esperaba, es posible que las actualizaciones de Firefox estén deshabilitadas por la Directiva de grupo local o de dominio.
Comprobar la versión de Firefox instalada
Ejecuta el siguiente comando de 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
}
Compara la versión instalada con la última versión de Firefox ESR disponible en el sitio web de Mozilla.
Comprobar la tarea programada
Firefox depende de una tarea programada en segundo plano para descargar y aplicar actualizaciones.
Ejecuta el siguiente comando de PowerShell:
Get-ScheduledTask |
Where-Object { $_.TaskName -like "*Firefox Background Update*" } |
ForEach-Object { Get-ScheduledTaskInfo $_ }
-> Asegúrate de que:
- La tarea existe
- La tarea está habilitada
- La tarea se ejecuta correctamente sin errores
Comprobar el Servicio de Mantenimiento de Mozilla
En Windows, las actualizaciones de Firefox pueden requerir que el Servicio de Mantenimiento de Mozilla esté instalado y en ejecución. Este servicio permite a Firefox aplicar actualizaciones sin necesidad de privilegios administrativos.
Comprobar si el servicio existe y su estado
Ejecuta el siguiente comando de PowerShell:
Get-Service -Name MozillaMaintenance -ErrorAction SilentlyContinue |
Select-Object Name, DisplayName, Status, StartType
-> Comportamiento esperado:
- El servicio existe
- El estado es
Running(oStopped, pero puede iniciarse) -
StartTypeestá configurado comoAutomaticoManual - Si falta el servicio, es posible que Firefox no pueda aplicar las actualizaciones automáticamente.
Iniciar el servicio manualmente (si es necesario)
Si el servicio existe pero no se está ejecutando, intenta iniciarlo. Ejecuta el siguiente comando de PowerShell:
Start-Service -Name MozillaMaintenance
Vuelve a comprobar que el servicio se inicia sin errores.
Reinstalar el Servicio de Mantenimiento de Mozilla
Si el servicio falta o está dañado, se puede reinstalar usando el instalador de Firefox:
- Descarga el instalador de Firefox que coincida con tu implementación (ESR o versión estándar).
- Ejecuta el instalador como Administrador.
- Asegúrate de que Instalar el Servicio de Mantenimiento de Mozilla esté seleccionado.
Después de la instalación, vuelve a comprobar el estado del servicio.
Aviso de UAC que solicita credenciales de administrador durante las actualizaciones
En algunas estaciones de trabajo, una actualización activa un aviso de UAC titulado Firefox Updater Software que solicita credenciales de administrador, aunque el Servicio de Mantenimiento de Mozilla esté instalado y funcione correctamente. Los usuarios estándar no pueden completar la actualización y el aviso vuelve a aparecer cada vez que se inicia Firefox.
Causa
Antes de usar el Servicio de Mantenimiento, el actualizador de Firefox comprueba la configuración de UAC de la estación de trabajo (prueba IsUnpromptedElevation en el código fuente del actualizador). Si UAC está configurado para la elevación silenciosa, Firefox asume que la elevación se producirá sin ningún aviso —como lo haría para un administrador— y omite el Servicio de Mantenimiento. Pero si el usuario que ha iniciado sesión no es realmente un administrador, la elevación no es silenciosa y Windows muestra en su lugar un aviso de credenciales de UAC.
Esto ocurre solo cuando se cumplen las tres condiciones siguientes:
-
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\ConsentPromptBehaviorAdminestá establecido en0(opción de seguridad Control de cuentas de usuario: Comportamiento del aviso de elevación para administradores en modo de aprobación de administrador = Elevar sin preguntar; el valor predeterminado de Windows es5) -
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\PromptOnSecureDesktopestá establecido en0(opción de seguridad Control de cuentas de usuario: Cambiar al escritorio seguro al solicitar la elevación = Deshabilitado; el valor predeterminado de Windows es1) - El usuario que ha iniciado sesión tiene un token filtrado de UAC: miembro de un grupo con privilegios (Administradores, Operadores de copia de seguridad, Usuarios avanzados, etc.), incluidos los grupos marcados como solo denegar, o titular de privilegios sensibles (como
SeBackupPrivilegeoSeDebugPrivilege) concedidos a través de la Directiva de grupo. Ten en cuenta que el filtrado basado en privilegios no es visible enwhoami /groups.
Diagnóstico
Comprueba el registro del actualizador para la siguiente firma:
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
...
La línea useService=false después de la comprobación IsUnpromptedElevation confirma esta causa (el error 9 significa que el usuario canceló el aviso de UAC). Nota: después de un primer fallo, los registros posteriores muestran useService=false desde la primera línea, sin las líneas After checking... (estado residual, ver Solución).
Luego, comprueba los valores de UAC y el estado de la actualización pendiente:
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"
Posibles valores de update.status:
| Valor | Significado |
|---|---|
pending-service
| Actualización descargada, se utilizará el Servicio de Mantenimiento (normal) |
pending
| Firefox ha renunciado al Servicio de Mantenimiento para esta actualización (estado residual después de un fallo) |
applied-service
| Actualización aplicada correctamente a través del Servicio de Mantenimiento |
Solución
- Cierra Firefox.
- Ejecuta los siguientes comandos en un PowerShell con privilegios elevados:
- Restaurar el comportamiento predeterminado del aviso de elevación de UAC para administradores
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 5 /f
- Rehabilitar el escritorio seguro para los avisos de elevación
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v PromptOnSecureDesktop /t REG_DWORD /d 1 /f
- Limpiar el estado de actualización residual (de lo contrario, el aviso aparecerá una última vez)
Remove-Item "C:\ProgramData\Mozilla-1de4eec8-1241-4177-a864-e594e8d1fb38\updates\*\*" -Recurse -Force
- Restaurar el comportamiento predeterminado del aviso de elevación de UAC para administradores
- Inicia Firefox, ve a Ayuda > Acerca de Firefox y espera a que aparezca Reiniciar para actualizar Firefox.
- Reinicia Firefox: la actualización debe aplicarse sin ningún aviso de UAC.
-> Notas:
- Restaurar cualquiera de los dos valores de UAC es suficiente para romper la condición defectuosa; restaurar ambos devuelve la estación de trabajo a los valores predeterminados de Windows.
- Si estos valores de UAC son aplicados por una Directiva de grupo de dominio, se restablecerán en la siguiente actualización de la directiva (comprueba con
gpupdate /force) — la solución debe aplicarse entonces a nivel de GPO. - Alternativamente, eliminar al usuario del grupo con privilegios (y luego cerrar y volver a iniciar sesión) también resuelve el problema.
Verificación
Después de la actualización, el nuevo update.log contiene After checking IsUnpromptedElevation, useService=true y update.status muestra applied-service.
Comprobar las transferencias BITS (Servicio de transferencia inteligente en segundo plano)
Firefox utiliza BITS para descargar actualizaciones en segundo plano.
Ejecuta el siguiente comando de 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
}
}
}
-> Qué comprobar
- JobState muestra el estado actual de la transferencia (transfiriendo, suspendido, completado o error).
- ProgressPercent indica el progreso de la descarga.
- RemoteURL muestra la URL utilizada por Firefox para recuperar la actualización.
-> Si la descarga está bloqueada
Si el progreso no avanza o el trabajo falla, verifica que la URL que se muestra en RemoteURL no esté bloqueada por tu red, firewall o proxy.
Para confirmarlo, copia y pega la URL en un navegador y comprueba si la descarga se inicia correctamente.
Listar archivos relacionados con Firefox en C:\ProgramData
Los archivos de actualización de Firefox se descargan y almacenan en la siguiente ubicación.
Ejecuta el siguiente comando de 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}
}
Esto ayuda a verificar si se descargaron los archivos de actualización e identificar archivos incompletos o detenidos.