Uninstalling a native app while the app is running leaves the executable in place

VERIFIED FIXED

Status

Firefox Graveyard
Web Apps
VERIFIED FIXED
6 years ago
2 years ago

People

(Reporter: jsmith, Assigned: TimAbraldes)

Tracking

Trunk
All
Windows 7
Bug Flags:
in-moztrap +

Details

Attachments

(1 attachment)

(Reporter)

Description

6 years ago
Steps:

1. Install the latest build of the extension (tested with 3/1)
2. Go to apps.mozillalabs.com/appdir
3. Install an app natively
4. Launch the app natively
5. Uninstall the native app

Expected:

An error should be reported indicating that the app cannot be uninstalled, as the app is currently running.

Actual:

The app is successfully uninstalled, even though the app is actively running. The app can be used natively after being uninstalled.

Seen so far on Win 7/XP.
(Reporter)

Comment 1

6 years ago
This works on Mac OS X. Therefore, this is a Windows-specific issue. Assigning to Tim.
Assignee: nobody → tabraldes
This should be fixed and verified in the mozilla-central implementation.
Blocks: 735518
Status: NEW → ASSIGNED
Component: Extension → General
Product: Web Apps → Firefox
QA Contact: extension → general
Hardware: x86_64 → All
Target Milestone: --- → Firefox 14
Version: unspecified → Trunk
Target Milestone: Firefox 14 → ---
If you run the webapp uninstaller while the app is running, you should now notice that all the files you expect to disappear in fact disappear.  Under the hood, we're moving the file (which you can do even while the file is running).  Since we're not removing profile data during uninstall (bug 710790), the app can continue running for as long as the user wants it to.  When the app is closed, the uninstall is effectively complete.

Steps (same as above)

Expected:

The app should be uninstalled (all files that are typically removed during the uninstall process are removed)

Actual:

This should be working on builds from the github repo as of this commit: https://github.com/michaelrhanson/mozilla-central/commit/c681630a3c85d26577cfbfcf6f6058845551190c
Summary: Uninstalling a native app while the app is running should not be allowed (an error should be reported) → Uninstalling a native app while the app is running leaves the executable in place
(Reporter)

Comment 4

6 years ago
Why are we allowing an uninstall to occur in the first place with the app already running though? Typically with native applications, I believe this is not allowed (correct me if I'm mistaken). That's what this bug talks about. I believe the OS X implementation on the extension originally did implement this correctly, windows did not.
(Reporter)

Updated

6 years ago
Component: General → Web Apps
QA Contact: general → webapps
(In reply to Jason Smith from comment #4)
> Why are we allowing an uninstall to occur in the first place with the app
> already running though? Typically with native applications, I believe this
> is not allowed (correct me if I'm mistaken). That's what this bug talks
> about.

You're correct that this is typically not allowed, but that's probably because most native applications need the app to be closed before uninstallation can succeed.  We can uninstall successfully even while the app is running, which can be an advantage for us in certain situations.  If the executable is running but the user doesn't realize that it is running (e.g. the user doesn't know how to close the app, or the stub experiences something like bug 401301), we can still allow the user to uninstall the app.  When the machine is rebooted, the uninstallation is effectively completed.

Additionally, blocking the uninstallation if the EXE is in use adds complexity (and at least one localization string) to the uninstaller.  The mechanism that Firefox uses to determine if an instance is running is not available to us, and the uninstaller is incapable of telling the difference between "file could not be deleted because it is in use" and "file could not be deleted because of insufficient privileges"
(Reporter)

Comment 6

6 years ago
Okay, makes sense. Agreed. I'll update my test cases to reflect this.
(Reporter)

Updated

5 years ago
Whiteboard: [marketplace-beta?]
(Reporter)

Updated

5 years ago
Whiteboard: [marketplace-beta?]
(Reporter)

Updated

5 years ago
Blocks: 731054
This should no longer be an issue: If you uninstall an app while it is running, the executable should still go away.
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
(Reporter)

Comment 8

5 years ago
This works, but causes a regression in the process. See the screenshot. If I uninstall the application while it's running from the uninstaller in the %APPDATA%, then i will get an error reported saying that the program might not have been installed correctly. The uninstall ends up being successful still, but a false warning is sent to the user. Request to reopen, or should we track this in a separate bug?
(Reporter)

Comment 9

5 years ago
Created attachment 620914 [details]
Error On Uninstall Through Uninstaller
(In reply to Jason Smith [:jsmith] from comment #8)
> This works, but causes a regression in the process. See the screenshot. If I
> uninstall the application while it's running from the uninstaller in the
> %APPDATA%, then i will get an error reported saying that the program might
> not have been installed correctly. The uninstall ends up being successful
> still, but a false warning is sent to the user. Request to reopen, or should
> we track this in a separate bug?

Separate bug
(Reporter)

Comment 11

5 years ago
Filed a separate bug to track this issue. Marking as verified then.
Status: RESOLVED → VERIFIED
(Reporter)

Updated

5 years ago
No longer blocks: 731054
(Reporter)

Updated

5 years ago
Flags: in-moztrap?(jsmith)
(Reporter)

Updated

5 years ago
QA Contact: jsmith
(Reporter)

Updated

5 years ago
Flags: in-moztrap?(jsmith) → in-moztrap+
Product: Firefox → Firefox Graveyard
You need to log in before you can comment on or make changes to this bug.