On 02/03/2014 02:17 AM, Steffen Macke wrote: >> there seems to be a recursive rm loop in the uninstall part > Yes, secured by an explicit warning dialog.
I'd remove it altogether. It may bite more users. I'd fear to recommend Dia under Windows with this risk. Choosing the wrong directory install time can be done by accident in a dialog box: do you have to explicitly enter the directory for the dialog to recognize it as chosen, or is selecting it in it's parent directory enough? It has caused me confusion in the past under Windows because of broken behavior on other applications. Not sure what the state of the art is today on that platform. Choosing a directory other than the default can be done intentionally too (that's the purpose anyway of letting it happen). IIRC, Beatrice said that she uses separate directories for OS and apps because of the use of an SSD; an explicit directory selection occurred. Given the above, the dialog is risky. I'm thinking "selective attention" [1]. It is common for a human to shortcut/optimize small deviations of a common case into the common case by misreading or misinterpreting. This is what I read: "This will erase C:\Program blah... blah, subdirectories, blah... sure?" -- Yeah, go with it. I'm uninstalling just Dia, anyway. [1] Remember the cool "how many passes does the white team make?" video? http://www.youtube.com/watch?v=Ahg6qcgoay4 Unintended clicks can happen too: palm-touching the touchpad or involuntary tick of a finger in the mouse. Although rarely, both happens to me. Also, I'm assuming the warning dialog is modal because the command is MessageBox. If so, a sudden raise of a modal dialog can make the user click on the dialog instead of a window that originally had the focus. Also that has happened to me in other situations. >> note the uninstall directory is shown at the first step of >> uninstall (but could be missed) later the uninstaller asks for >> confirmation for directory removal however at this stage the files >> are already deleted so I miss the point of this check >> > If you look to the uninstall process in a little bit more detail, > you'll see that the uninstallation is performed in two stages: First > the list of files from the installation log is deleted. Then the user > is asked, if he would like to delete the installation directory and > all of it's contents (in some cases there are some artifacts like > temporary files or files from previous installations in it). Only > after confirmation from the user, the directory and its contents > removed. If I may suggest: I'd make it safer by just informing the user that the directory could not be removed and possible causes, and let the user erase it himself. Not sure if NSI can do this, but I guess a check for the existence of the directory after RmDir would help. Temporary files by normal program usage should never be created in C:\Program Files\Dia anyway. This could have been true in old versions of Windows, but it was a really bad practice anyway. Files from previous installations are also a corner case; the only super-important use case for it is to ensure a clean installation for the next Dia install --possibly useful for development cycle--. In a stable release the installer is the one responsible for asking the user if he wants to go ahead and install in an existing non-empty directory. If it's useful for development, hide the MessageBox + RmDir /R section under a command-line option, unselected by default. This way it's kept for development purposes. Again, never used NSI, not sure if it can do this without much hassle. _______________________________________________ dia-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/dia-list FAQ at http://live.gnome.org/Dia/Faq Main page at http://live.gnome.org/Dia
