最新のセキュリティパッチが適用され、すべての機能が利用できるように、すべての Firefox 展開で自動更新を有効にしておくことをおすすめしますが、特定の環境では自動更新ができない場合があります。
エンタープライズ環境では、Firefox ラピッドリリース版 (RR) と Firefox 延長サポート版 (ESR) の両方を利用できます。大規模な更新が頻繁に行われることが心配な場合は、Firefox の更新チャンネルの選択 から Firefox Extended Support Release の詳細を確認することをおすすめします。
| メジャーアップデートの頻度 | メジャーアップデートの範囲 | マイナーアップデートの頻度 | マイナーアップデートの範囲 | |
|---|---|---|---|---|
| ESR | 毎年 | 過去 12 か月間に提供された新機能と修正されたバグ | 4 週間ごと、または必要に応じて | 重要な安定性またはセキュリティのバグ修正 |
| RR | 4 週間ごと | 過去 4 週間に提供された新機能と修正されたバグ | 必要に応じて、メジャーリリースの合間に | 重要な安定性またはセキュリティのバグ修正 |
Firefox のアップデートを無効にする
自動更新は既定デフォルト で有効になっていますが、DisableAppUpdate policy を使用して無効にできます。
アップデートが有効になっている場合、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
}
インストールされているバージョンを、Mozilla のウェブサイトで入手できる最新の Firefox ESR バージョンと比較してください。
スケジュールされたタスクを確認する
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 インストーラーを使用して再インストールできます:
- ご利用の展開 (ESR または標準リリース) に一致する Firefox インストーラーをダウンロードします。
- インストーラーを管理者として実行します。
- Mozilla Maintenance Service をインストールする が選択されていることを確認します。
インストール後、サービスのステータスを再確認してください。
BITS (バックグラウンド インテリジェント転送サービス) の転送を確認する
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 は現在の転送状態 (転送中、中断、完了、またはエラー) を示します。
- ProgressPercent はダウンロードの進捗状況を示します。
- RemoteURL は Firefox がアップデートを取得するために使用する URL を示します。
-> ダウンロードがブロックされている場合
進捗が進まない、またはジョブが失敗する場合、RemoteURL に表示される URL がネットワーク、ファイアウォール、またはプロキシーによってブロックされていないことを確認してください。
確認するには、URL をブラウザーにコピー&ペーストして、ダウンロードが正常に開始されるかどうかを確認してください。
C:\ProgramData 内の Firefox 関連ファイルを一覧表示する
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}
}
これにより、アップデートファイルがダウンロードされたかどうかを確認し、不完全または停止したファイルを特定できます。