Ticket #18 (closed defect: fixed)

Opened 1 year ago

Last modified 4 months ago

The uninstaller can't detect running POPFile when executed by standard users

Reported by: amatubu Assigned to: brian
Priority: normal Milestone:
Component: Installer Version: 0.22.6
Severity: Keywords:
Cc:

Description

On Windows XP Pro SP2. If the uninstaller is executed by standard users, the installer can't detect POPFile is running.

Here's the part of the uninstall log:

POPFile 'ServiceCall?' response: openerr Checking 'C:\Program Files\POPFile\popfileb.exe' ... Checking 'C:\Program Files\POPFile\popfileib.exe' ... Checking 'C:\Program Files\POPFile\popfilef.exe' ... Checking 'C:\Program Files\POPFile\popfileif.exe' ... Checking 'C:\Program Files\POPFile\wperl.exe' ... Checking 'C:\Program Files\POPFile\perl.exe' ... Checking 'C:\Program Files\POPFile\pfimsgcapture.exe' ... Checking 'C:\Program Files\POPFile\msgcapture.exe' ... Checking 'C:\Program Files\POPFile\stop_pf.exe' ... Checking 'C:\Program Files\POPFile\pfidiag.exe' ... <snip>

So the uninstaller can't delete locked files. (e.g. POPFile executable, DLLs)

Attachments

uninstall_from_std_user_log.txt (32.5 kB) - added by amatubu on 10/16/07 14:21:25.
the uninstaller log
uninstall_from_admin_user_log.txt (34.9 kB) - added by amatubu on 10/16/07 14:22:51.
the log file (admin user)

Change History

10/16/07 14:21:25 changed by amatubu

  • attachment uninstall_from_std_user_log.txt added.

the uninstaller log

10/16/07 14:22:51 changed by amatubu

  • attachment uninstall_from_admin_user_log.txt added.

the log file (admin user)

10/18/07 04:59:56 changed by brian

  • status changed from new to assigned.

The uninstaller can successfully detect and shutdown POPFile when run by a 'standard' user on my Vista system. This can be easily verified by using the Message Capture shortcut on the Start Menu to start POPFile and then trying to uninstall or change POPFile from the "add/Remove Programs" list.

Unfortunately the log from setup-test-1.exe is not much use because the actual shutdown action is performed by the hidden process and its log is never seen or stored anywhere. This is why there is no "Shutting down POPFile using port 8080" line in the log from the case where a non-admin user is involved.

setup-test-2.exe produces slightly more informative log files (and the uninstaller's /MODIFY mode even stores the log file in the POPFile program folder).

A proper solution would involve a major change to the way the installer and uninstaller handle UAC. The 1.0.0 release is being held up by the work on the installer. It is possible that this "proper" solution may not be implemented until after the 1.0.0 release.

(follow-up: ↓ 3 ) 10/19/07 14:25:56 changed by brian

setup-test-2.exe produces slightly more informative log files (and the uninstaller's /MODIFY mode even stores the log file in the POPFile program folder).

This helps a little but the log file could include even more detail. A code review found some bugs in the code but these do not really explain what is going wrong in the "standard" user case. Further investigation is required.

(in reply to: ↑ 2 ) 10/19/07 14:27:07 changed by brian

Replying to brian:

setup-test-2.exe produces slightly more informative log files (and the uninstaller's /MODIFY mode even stores the log file in the POPFile program folder).

This helps a little but the log file could include even more detail. A code review found some bugs in the code but these do not really explain what is going wrong in the "standard" user case. Further investigation is required. (It works on Vista and Win98SE but not on XP)

11/10/07 12:48:20 changed by brian

  • status changed from assigned to closed.
  • resolution set to fixed.

setup-test-4.exe fixes this problem. The earlier installers did not look at the correct location when trying to detect if POPFile was running. This happened because I made a mess of things when trying to use the UAC plugin - instead of checking the data belonging to the user who started the uninstaller, the data belonging to the admin user was checked (oops!)

The setup-test-4.exe installer and uninstaller handles the non-admin case in a simpler way and therefore avoids the problems found in all of the earlier installers and uninstallers.