Closed Bug 720521 Opened 10 years ago Closed 10 years ago

MozillaMaintenance service does not get uninstalled when Firefox is uninstalled


(Firefox :: Installer, defect)

Windows 7
Not set



Firefox 12
Tracking Status
firefox11 --- unaffected
firefox12 --- verified
firefox13 --- verified


(Reporter: briansmith, Assigned: bbondy)



(Whiteboard: [qa!])


(1 file, 1 obsolete file)

+++ This bug was initially created as a clone of Bug #715489 +++

When Firefox is installed, the service gets installed. Therefore, when it gets uninstalled, the service must get uninstalled, unless there is some other product using it.

Users expect that if they install some software, and then uninstall it, that there system will be in the same state they left it in. Especially, they do not expect to leave a useless (as far as their current system configuration is concerned) and un-updatable service installed.
Planned to do after other work is completed but not a blocker IMO since it can be uninstalled from programs and features or add / remove programs. This will be entirely implemented in the installer / uninstaller for the service which is part of Firefox -> Installer so moving over there.
Component: Application Update → Installer
Product: Toolkit → Firefox
QA Contact: application.update → installer
I agree with your point about it being of no use, so should be uninstalled if nothing else is using it.

This can be implemented by checking:

If it has no subitems at the end of the uninstall process then the firefox uninstaller should launch the service uninstaller with the /S argument which makes it silent.
Attached patch Patch v1. (obsolete) — Splinter Review
How things work before this patch:
- When the Firefox installer is run, it puts an entry in the registry at HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\MaintenanceService which is a hash of the installed path
- When the Firefox uninstaller is run, it removes that hashed entry from the registry.

How things work after this patch:
- All of the above remains true
- If it detects that HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\MaintenanceService has no subkeys, then it will figure out the maintenance service uninstaller path and execute it.
- As with all NSIS executables, it just passes /S to execute the uninstaller silently.
- If it detects the registry has some subkeys, it doesn't do anything extra.
Assignee: nobody → netzen
Attachment #593276 - Flags: review?(jmathies)
Comment on attachment 593276 [details] [diff] [review]
Patch v1.

Review of attachment 593276 [details] [diff] [review]:

::: browser/installer/windows/nsis/uninstaller.nsi
@@ +200,5 @@
>  ; Use the default dialog for IDD_VERIFY for a simple Banner
>  ChangeUI IDD_VERIFY "${NSISDIR}\Contrib\UIs\default.exe"
> +!define MaintUninstallKey \
> + "Software\Microsoft\Windows\CurrentVersion\Uninstall\MozillaMaintenanceService"

Lets move this to the top of the file.
Attachment #593276 - Flags: review?(jmathies) → review+
Attached patch Patch v2.Splinter Review
Thanks for the review, implemented nits.  Will push once it passes try.  Carrying forward r+.
Attachment #593276 - Attachment is obsolete: true
Attachment #594710 - Flags: review+
Closed: 10 years ago
Hardware: x86_64 → x86
Resolution: --- → FIXED
Comment on attachment 594710 [details] [diff] [review]
Patch v2.

[Approval Request Comment]
Regression caused by (bug #): 481815.  Not really a regression but would be nice to land with the service.
User impact if declined: Users will have to uninstall the Mozilla Maintenance Service manually from control panel.  Some users may be unhappy that we leave traces after uninstall.
Testing completed (on m-c, etc.): Yes I've tried it on mozilla-central nightly. 
Risk to taking this patch (and alternatives if risky): Low
String changes made by this patch: None.
Attachment #594710 - Flags: approval-mozilla-aurora?
Comment on attachment 594710 [details] [diff] [review]
Patch v2.

[Triage Comment]
In support of our new update work, and may cause user frustration, so approving for Aurora 12.
Attachment #594710 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Pushed to aurora:
Target Milestone: Firefox 13 → Firefox 12
Depends on: 735177
Whiteboard: [qa+]
(In reply to Brian Smith (:bsmith) from comment #0)
> When Firefox is installed, the service gets installed. Therefore, when it
> gets uninstalled, the service must get uninstalled, unless there is some
> other product using it.

Still an issue on FF 12b3. What other products might be using this service?
Which OS are you testing from?  Have you seen bug 735177?
By the way before testing this please ensure you first clear out HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\MaintenanceService in case you had a previous unclean uninstall.
Mozilla Maintenance Service is removed after Firefox is uninstalled. If there are more products using the service, it is removed after all products are uninstalled.
Verified fixed on Win 7, Win 7/64.
Still an issue on Win XP, but I suppose bug 735177 is dealing with this problem.

One question though. After uninstalling Firefox and the service is gone, HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\MaintenanceService still present in the registry. Is this correct ?
Yes that is correct and as expected.  That registry location stores that the service was installed at one point so that future updates do not re-install the service.
Based on comment 14 marking the bug as verified fixed on FF 12 & 13.
Whiteboard: [qa+] → [qa!]
You need to log in before you can comment on or make changes to this bug.