Page 3 of 4
Re: Serious uninstaller issue
Posted: Fri Jan 25, 2013 8:00 am
by Das
Re: uninstall method
I'm pretty sure I launched the uninstaller via CCleaner, which essentially performs the same function as the Control Panel's uninstall list, but it doesn't take a year and a half to fully render the list. CCleaner also features deleting non-functioning entries, which is something that has lately come in very handy. *cough*
In short: launched via separate program/OS, not from Start Menu shortcut.
I prefer using the OS list, as some programs like to install multiple components, all under their own entries, so when uninstalling, you have to go through each one.
Re: Serious uninstaller issue
Posted: Fri Jan 25, 2013 8:59 am
by art_l_j_PlanetAMD64
Das wrote:I'm pretty sure I launched the uninstaller via CCleaner, which essentially performs the same function as the Control Panel's uninstall list, but it doesn't take a year and a half to fully render the list. CCleaner also features deleting non-functioning entries, which is something that has lately come in very handy. *cough*
In short: launched via separate program/OS, not from Start Menu shortcut.
OK, I'm sure the uninstaller does the same thing, regardless of how it is launched.
The main issue we have been discussing, as I'm sure you have been reading, is how to safeguard the install/uninstall process against (for example) installing FAH in the root directory. I think a simple yet elegant method would be to let the user edit the first part of the path ("
C:\Program Files"), but not the last part ("
\FAHClient\"). This is very similar to what Windows Explorer does when you want to rename a file. If you want to rename "Myfile.txt", Windows Explorer tries to let you change "Myfile", but not ".txt" (yes, you can defeat this, but this is the default action of the Rename function in Windows Explorer). So this is consistent with what a Microsoft product already does, and Advanced or Expert users (who would be doing the "Custom Installation") should already be familiar with this concept. By doing this, FAH would be
guaranteed to be installed in its own non-root directory, so removing all files, folders, and subfolders from the directory where it was installed would not be a problem, as only FAH files and folders would be affected.
Re: Serious uninstaller issue
Posted: Fri Jan 25, 2013 9:03 am
by Das
Indeed.
And a simple safeguard like an automatically added subdirectory in the install path would indeed be okay with me, and make sense - it's better to have one directory too many than 15 too few. A simple safeguard against simple user error(s).
Re: Serious uninstaller issue
Posted: Fri Jan 25, 2013 10:13 am
by bruce
Das: Is there any possibility that you originally installed FAH at location S:\ and later decided to move it to S:\Example? Later somehow it got installed on E:\Example\example and that the Office program that was disrupted was also on drive E: or maybe on S:
Re: Serious uninstaller issue
Posted: Fri Jan 25, 2013 10:23 am
by Das
The actual paths I've used have been
1st install: S:\FAHClient - S:\FAHData
*decide I want to move to HDD from SSD, uninstall, no reboot*
2nd install: E:\_PROGRAMS\FAHClient - S:\FAHData
*decide this was a bad idea because _PROGRAMS has important stuff in it, uninstall*
This is the first time I have installed folding on the main workstation, as it has been exclusively reserved for earning my living and having fun afterwards. I have never manually moved files, even the data files, or renamed directories, always used the default installer for all operations.
Office has been installed since October 2010 in E:\_PROGRAMS\MSOffice.
I don't know why I thought it would be clearer originally to substitute the precise directory names with "Example", since I use the default name anyway. Would of course be different if the Client was installed in ToastyTime or something.
Re: Serious uninstaller issue
Posted: Fri Jan 25, 2013 11:14 am
by 7im
The uninstaller should have removed the FAHClient only part of E:\_PROGRAMS\FAHClient along with S:\FAHData.
The uninstaller has been pretty consistent in behaviour so far. This is definitely new, where either the _ of the mix of drive letters may have contributed to the problem, I can only guess.
As before, we'll have the developer review the circumstances and see if the uninstaller needs a tweak...
Re: Serious uninstaller issue
Posted: Fri Jan 25, 2013 11:35 am
by Rattledagger
art_l_j_PlanetAMD64 wrote:Rattledagger wrote:3. This would work but is much more difficult and time-consuming compared to option #2 (the KISS principle again). Determining "good" from "bad" paths is a much more complex job than simply ensuring that the path ends with "\FAHClient\".
While this will catch installing to c:\ it will not catch installing to example c:\windows\FAHClient\ and I can't see any legal reason for allowing installing under your windows-directory.
Re: Serious uninstaller issue
Posted: Fri Jan 25, 2013 2:52 pm
by art_l_j_PlanetAMD64
Rattledagger wrote:art_l_j_PlanetAMD64 wrote:3. This would work but is much more difficult and time-consuming compared to option #2 (the KISS principle again). Determining "good" from "bad" paths is a much more complex job than simply ensuring that the path ends with "\FAHClient\".
While this will catch installing to c:\ it will not catch installing to example c:\windows\FAHClient\ and I can't see any legal reason for allowing installing under your windows-directory.
There is absolutely nothing wrong with installing FAHClient in "
C:\Windows\FAHClient". Many programs install under C:\Windows, especially *.exe and *.dll files in C:\Windows\System32. This is
not a problem.
Re: Serious uninstaller issue
Posted: Fri Jan 25, 2013 7:03 pm
by bruce
Das wrote:The actual paths I've used have been
1st install: S:\FAHClient - S:\FAHData
*decide I want to move to HDD from SSD, uninstall, no reboot*
2nd install: E:\_PROGRAMS\FAHClient - S:\FAHData
*decide this was a bad idea because _PROGRAMS has important stuff in it, uninstall*
When you say the word "uninstall" what did you do? Did you go to the Control Panel > Programs_&_Features and pick FAHClient? or did you locate the program uninstall.exe and run it? or did you manually delete the directories you mentioned above? or did you use some other method? In your original post, you said you used the Control Panel method both times but I just want to confirm that.
Re: Serious uninstaller issue
Posted: Fri Jan 25, 2013 7:56 pm
by art_l_j_PlanetAMD64
7im wrote:The uninstaller should have removed the FAHClient only part of E:\_PROGRAMS\FAHClient along with S:\FAHData.
I wonder if the "_PROGRAMS" part of the pathname fooled the GetDirectoryName() function. Uninstall.exe seems to extract the directory name to be removed (
E:\_PROGRAMS\FAHClient) from the command-line invocation (
E:\_PROGRAMS\FAHClient\Uninstall.exe), probably by using a function like GetDirectoryName(). I wonder if, by mistake, the GetDirectoryName() function reduced
E:\_PROGRAMS\FAHClient\Uninstall.exe to just
E:\. Perhaps _PROGRAMS looks like some kind of reserved name to GetDirectoryName(), and it is reduced to an empty string. It could be that all of the other uninstallers (eg for Office) use the 'InstallLocation' value in their Registry entry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ instead of the function GetDirectoryName(), so this problem does not show up for them.
Re: Serious uninstaller issue
Posted: Fri Jan 25, 2013 9:31 pm
by Das
bruce wrote:When you say the word "uninstall" what did you do? Did you go to the Control Panel > Programs_&_Features and pick FAHClient? or did you locate the program uninstall.exe and run it? or did you manually delete the directories you mentioned above? or did you use some other method? In your original post, you said you used the Control Panel method both times but I just want to confirm that.
Yes; I only used the default installer to install, and the Control Panel (or its functional equivalent, CCleaner, see previous post) to uninstall every time.
Re: Serious uninstaller issue
Posted: Fri Jan 25, 2013 11:39 pm
by bruce
I don't have any way to determine if CCleaner decided to delete some files that it perceived were "non-functioning entries" or if we can pin the blame on FAH's installer. Somebody is going to have to try to reproduce a similar failure both with and without CCleaner -- though I wouldn't try it with expensive software on the same drive. If we write this up as a problem with the FAH Uninstaller, the ticket will most likely be closed with a status of "cannot reproduce." At this point, there are still just too many uncertainties.
Re: Serious uninstaller issue
Posted: Sat Jan 26, 2013 12:16 am
by art_l_j_PlanetAMD64
As a test of the "_PROGRAMS" theory, I have a G: partition that had nothing important, so I ran a test on it as follows:
- Created a folder G:\_PROGRAMS and copied the whole FAHClient folder from C:\Program Files there
- Ran: Start -> Run -> G:\_PROGRAMS\FAHClient\Uninstall.exe
- FAHClient was removed, but everything else was still there, including G:\_PROGRAMS
- The log of the uninstall is shown below:
Code: Select all
Delete file: C:\Users\Art\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\FAHClient\About Folding@home.lnk
Delete file: C:\Users\Art\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\FAHClient\Data Directory.lnk
Delete file: C:\Users\Art\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\FAHClient\FAHClient.lnk
Delete file: C:\Users\Art\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\FAHClient\FAHControl.lnk
Delete file: C:\Users\Art\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\FAHClient\FAHViewer.lnk
Delete file: C:\Users\Art\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\FAHClient\Uninstall.lnk
Remove folder: C:\Users\Art\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\FAHClient\
Delete file: C:\Users\Art\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\FAHControl.lnk
Delete file: C:\Users\Art\Desktop\FAHControl.lnk
Target was NOT found in PATH (nothing to remove)
Delete file: G:\_PROGRAMS\FAHClient\About Folding@home.url
Delete file: G:\_PROGRAMS\FAHClient\amdcalcl.dll
Delete file: G:\_PROGRAMS\FAHClient\amdcalrt.dll
Delete file: G:\_PROGRAMS\FAHClient\atk.pyd
Delete file: G:\_PROGRAMS\FAHClient\bz2.pyd
Delete file: G:\_PROGRAMS\FAHClient\cairo._cairo.pyd
Delete file: G:\_PROGRAMS\FAHClient\ChangeLog.txt
Delete file: G:\_PROGRAMS\FAHClient\cudart.dll
Delete file: G:\_PROGRAMS\FAHClient\cudart32_30_14.dll
Delete file: G:\_PROGRAMS\FAHClient\cufft.dll
Delete file: G:\_PROGRAMS\FAHClient\cufft32_30_14.dll
Delete file: G:\_PROGRAMS\FAHClient\FAHClient.exe
Delete file: G:\_PROGRAMS\FAHClient\FAHClient.ico
Delete file: G:\_PROGRAMS\FAHClient\FAHControl.exe
Delete file: G:\_PROGRAMS\FAHClient\FAHCoreWrapper.exe
Delete file: G:\_PROGRAMS\FAHClient\FAHViewer.exe
Delete file: G:\_PROGRAMS\FAHClient\FAHViewer.ico
Delete file: G:\_PROGRAMS\FAHClient\freetype6.dll
Delete file: G:\_PROGRAMS\FAHClient\gio._gio.pyd
Delete file: G:\_PROGRAMS\FAHClient\glib._glib.pyd
Delete file: G:\_PROGRAMS\FAHClient\gobject._gobject.pyd
Delete file: G:\_PROGRAMS\FAHClient\gtk._gtk.pyd
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libanachron.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libaurora.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libbluecurve.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libblueprint.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libcandido.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libcleanice.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libclearlooks.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libcrux-engine.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libdyndyn.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libexcelsior.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libgflat.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libglide.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libhcengine.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libindustrial.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\liblighthouseblue.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libmetal.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libmgicchikn.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libmist.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libmurrine.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libnimbus.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libnodoka.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libpixmap.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libredmond95.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\librezlooks.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libsmooth.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libthinice.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libubuntulooks.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libwimp.dll
Delete file: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\libxfce.dll
Remove folder: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\engines\
Remove folder: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\2.10.0\
Remove folder: G:\_PROGRAMS\FAHClient\lib\gtk-2.0\
Remove folder: G:\_PROGRAMS\FAHClient\lib\
Delete file: G:\_PROGRAMS\FAHClient\libatk-1.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libcairo-2.dll
Delete file: G:\_PROGRAMS\FAHClient\libexpat-1.dll
Delete file: G:\_PROGRAMS\FAHClient\libfontconfig-1.dll
Delete file: G:\_PROGRAMS\FAHClient\libgdk-win32-2.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libgdk_pixbuf-2.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libgio-2.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libglib-2.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libgmodule-2.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libgobject-2.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libgthread-2.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libgtk-win32-2.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libpango-1.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libpangocairo-1.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libpangoft2-1.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libpangowin32-1.0-0.dll
Delete file: G:\_PROGRAMS\FAHClient\libpng14-14.dll
Delete file: G:\_PROGRAMS\FAHClient\library.zip
Delete file: G:\_PROGRAMS\FAHClient\License.txt
Delete file: G:\_PROGRAMS\FAHClient\pango.pyd
Delete file: G:\_PROGRAMS\FAHClient\pangocairo.pyd
Delete file: G:\_PROGRAMS\FAHClient\python26.dll
Delete file: G:\_PROGRAMS\FAHClient\pywintypes26.dll
Delete file: G:\_PROGRAMS\FAHClient\README.txt
Delete file: G:\_PROGRAMS\FAHClient\select.pyd
Delete file: G:\_PROGRAMS\FAHClient\sqlite3.dll
Delete file: G:\_PROGRAMS\FAHClient\unicodedata.pyd
Delete file: G:\_PROGRAMS\FAHClient\Uninstall.exe
Delete file: G:\_PROGRAMS\FAHClient\win32api.pyd
Delete file: G:\_PROGRAMS\FAHClient\win32pipe.pyd
Delete file: G:\_PROGRAMS\FAHClient\zlib1.dll
Delete file: G:\_PROGRAMS\FAHClient\_ctypes.pyd
Delete file: G:\_PROGRAMS\FAHClient\_socket.pyd
Delete file: G:\_PROGRAMS\FAHClient\_sqlite3.pyd
Delete file: G:\_PROGRAMS\FAHClient\_ssl.pyd
Remove folder: G:\_PROGRAMS\FAHClient\
Completed
I don't mind running other tests, if anyone has any ideas they'd like to try. I couldn't use CCleaner or any other 'normal' uninstall method, because of the way I just copied
FAHClient to the G: drive.
Re: Serious uninstaller issue
Posted: Sat Jan 26, 2013 4:30 am
by bruce
You could officially install at that same location. (Your existing FAH installation would pobabaly be uninstalled or corrupted but you could reinstall it later where it's supposed to be.) The newly created uninstall.exe would be rebuild without any need to move anything and presumably CCleaner could be attempted.
The only thing that would not be consistent with the original report would be the {uninstall/do not reboot} steps and it's hard to guess if that matters or not.
Re: Serious uninstaller issue
Posted: Sat Jan 26, 2013 5:36 am
by art_l_j_PlanetAMD64
bruce wrote:You could officially install at that same location. (Your existing FAH installation would pobably be uninstalled or corrupted but you could reinstall it later where it's supposed to be.) The newly created uninstall.exe would be rebuild without any need to move anything and presumably CCleaner could be attempted.
The only thing that would not be consistent with the original report would be the {uninstall/do not reboot} steps and it's hard to guess if that matters or not.
OK, that's an excellent idea! It turns out that on the same machine I also have an F: partition that I don't care if I lose, so I was able to run a more complete test, as follows:
- Uninstall #1: Start -> All Programs -> FAHClient -> Uninstall
- Install on F:\FAHClient, everything runs OK
- Uninstall #2: CCleaner -> FAHClient -> Uninstall
- F:\FAHClient is removed, everything else on F: is OK
- Install on G:\_PROGRAMS\FAHClient, everything runs OK
- Uninstall #3: CCleaner -> FAHClient -> Uninstall
- G:\_PROGRAMS\FAHClient is removed, everything else on G: is OK
- Install on C:\Program Files\FAHClient, everything runs OK
There were absolutely no hiccups of any kind, and as shown above, everything was done without rebooting. So it definitely goes into the "cannot reproduce" category.
