ThinkingRock Forum

To go back to http://www.trgtd.com.au
It is currently Thu Sep 09, 2010 9:49 pm

All times are UTC




Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Installer / Uninstaller unexpected behavior
PostPosted: Wed May 28, 2008 3:40 pm 
Offline

Joined: Fri May 23, 2008 3:53 pm
Posts: 16
This program is a real gem! Elegant and well though out. There are three people so far that are trying it based on my recommendation.


I did some further testing, and found something that seems rather odd.

What I am about to report is not really a bug, but rather is what I consider unusual and unexpected behavior. It is a judgement call on the developer's part as to whether to make this behavior be like that of most Windows installer programs or whether to keep it as is.

Here is the sequence of commands I gave in order to trigger the unusual and unexpected behavior:

I started with a fresh install. The installer offered to install to this destination folder: [ D:\Program Files\TR-2.0.0.rc.4 ].

From my notes on the last install, I knew that accepting the default would leave me with paths like this: [ D:\Program Files\TR-2.0.0.rc.4\tr-2.0.0.rc.4\tr\tr\config ] With nothing in the first "TR-2.0.0.rc.4" except another "TR-2.0.0.rc.4". Nothing wrong with that, but it is slightly unusual behavior for a windows installer. Most windows installers would have given this as the default: [ D:\Program Files\TR-2.0.0.rc.4\ ] (note trailing slash -- more on that later) and if I changed that to, for example, [ D:\TR\ ], Most windows installers would have put everything in [ D:\TR\ ], not [ D:\TR\TR-2.0.0.rc.4\ ].

Instead of accepting the default, I told the installer that I would like to install here: [ D:\Program Files\ ] and ended up with all the ThinkingRock files in this directory: [ D:\Program Files\tr-2.0.0.rc.4\ ] rather than this one (the default if you don't change the install directory): [ D:\Program Files\TR-2.0.0.rc.4\tr-2.0.0.rc.4\ ].

Everything worked fine, and I was able to do all the tests I wanted to try. The unusual and unexpected behavior happened when I uninstalled ThinkingRock.

It erased the entire contents of [ D:\Program Files\ ] then removed the [ D:\Program Files\ ] directory.

(Good thing I was on my test system...)

Further testing revealed that ThinkingRock drops a file with the unimaginative name of "uninstall.exe" one directory up from where it places all of the other files and creates a menu shortcut to it. When this file is executed, it gives a confirmation dialog that isn't all that clear as to what is about to happen, then erases everything as described above.

I tried it again with some of the directories and files marked read only. No change; it still nuked them all.

I created a file named [ TR-2.0.0.rc.4 ] in the [ D:\Program Files\ ] directory, then tried installing ThinkingRock. The result was that the Install button was gray, but there was no error message or other clue as to what was stopping it from installing.

I tried installing it to [ D:\ ] to see if I could get it to erase everything on the disk, but it wouldn't let me do that.


This is a judgement call. but in my opinion, the ThinkingRock installer / uninstaller should be changed to behave as follows:


INSTALLER

Let the user choose any install directory. Install there, not one directory down as is done now.

If the install directory isn't the default and doesn't already exist, put up a "do you want me to create it?" dialog.

If the install directory already has files in it, put up a "this directory has files/folders in it. Are you sure you want to install here?" dialog.

Throw up a descriptive error message (or let Windows display the default error message) when there is a problem such as an existing file with the name of the directory ThinkingRock wants to create. Don't just turn the install button gray with no explanation as to why.

In the destination folder dialog box, use a trailing slash to signify that this is a directory. [ D:\Program Files\TR-2.0.0.rc.4 ] is ambiguous; the user cannot look at it and tell whether it is a file or a directory. [ D:\Program Files\TR-2.0.0.rc.4\ ] can only be a directory.

Keep a log of what got installed for use by the uninstaller.


UNINSTALLER

Give it a more descriptive name such as ThinkingRock-Uninstall.exe

Give the user three uninstall options:

[1] Uninstall program only (default)

[2] Uninstall program and configuration files

[3] Uninstall program, configuration files, and all user-generated data

...and make the user type in the word "yes" (not "y", and not clicking a button) to execute #[3].

The ThinkingRock uninstaller should never, ever touch the contents of any directory that wasn't created by the ThinkingRock installer.

_________________
--
Guy Macon
http://www.GuyMacon.com


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jun 01, 2008 2:06 am 
Offline

Joined: Fri May 23, 2008 3:53 pm
Posts: 16
Followup: I tested the uninstall in "Add/Remove Programs" in Control Panel as well as "Uninstall" in the Start Menu. Both methods silently erase the entire Program Files directory under the conditions described.

_________________
--
Guy Macon
http://www.GuyMacon.com


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Translated by Xaphos © 2007, 2008, 2009 phpBB.fr