The online racing simulator
LFS Uninstaller just uninstalled ALL of my applications
I was having problems with LFS Demo which I installed a couple of days ago. I figured re-installing would be a good first step. I used the LFS unistall app and it removed the .exe for EVERY SINGLE app in my program files folder (XP Pro). Not a happy camper right now.
Yes, it does that. That's why it is extremely important to install LFS in a separate folder.
Nice to know after that fact. Developers - Don't you think a bug of that magnitude deserves a sticky right at the top of your forum??
Quote from rickk2010 :Nice to know after that fact. Developers - Don't you think a bug of that magnitude deserves a sticky right at the top of your forum??

User error, if you don't read you deserve to have your Program Files deleted.
Attached images
usererror.png
This issue has been raised time and time again. Yes, the warning is there - but the average person is NOT likely to go through it. They're likely to hit uninstall and cause irreversible damage.

Any suggestions to make it idiot friendly?
#6 - Bean0
Quote from Silverracer :
Any suggestions to make it idiot friendly?

Quote from Bean0 :I think that it is a valid bug report and should be addressed.
Yes, it is stated during the uninstall process, but there is such a large risk of unwanted deletions that there should be an extra confirmation dialogue.

If people saw

'Are you sure you want to delete the contents of C:\Program Files (x86)\ (30,000 files, 35GB) ?'

Then they would probably take more notice.

It shouldn't be made possible to install to the root of any system directory (folder, whatever) to begin with.

Better said; forced to create a directory/folder at any time.
With all due respect Boothy, that's developer error, not user error! It's not in the readme file included with the download or anywhere prominent in the wiki user manual, or as a sticky in the technical assistance forum page. Someone should not have to spend time searching for a bug in what is a rather routine function common to all apps. The uninstaller is broken and needs to be fixed, no excuses.

Fortunately, I keep images of my HD so it was a simple task to get everything back prior to installing LFS.

All Best
I'd hazard a guess that most people who don't read what the uninstaller says it's about to do won't have read the readme or the wiki.

It's not uncommon for an application to delete the folder it was installed to, although most that do (including LFS) ask you first.

If the user doesn't click through the installer and goes out of their way to choose a non-default install location, doesn't notice that it's being installed to the root of Program Files, then doesn't bother reading what the uninstaller says it's going to do - even though there's a check box which is always a warning that it's about to do something you might not want it to - then quite frankly it is user error if the directory gets hosed.


Now, here's a real example of programmer error:
The uninstaller for Test Drive Unlimited deletes every file (but thankfully not folder) it has system permissions for in the root of C:\. One of those files is boot.ini, without which, many windows installations can't boot, rendering the computer unusable.
The really sad thing? They knew about this problem in the Beta, didn't fix it for release and didn't tell anyone about it.
Quote from rickk2010 :With all due respect Boothy, that's developer error, not user error! It's not in the readme file included with the download or anywhere prominent in the wiki user manual, or as a sticky in the technical assistance forum page. Someone should not have to spend time searching for a bug in what is a rather routine function common to all apps. The uninstaller is broken and needs to be fixed, no excuses.

Fortunately, I keep images of my HD so it was a simple task to get everything back prior to installing LFS.

All Best

Well.... why would you install LFS in the same folder as every other app? What if there were conflicting DLL's or st?
Quote from rickk2010 :Fortunately, I keep images of my HD so it was a simple task to get everything back prior to installing LFS.

I'm pleased you were able to get everything back.

It's usually best to go with the C:\LFS folder that the installer suggests, unless you really know what you are doing and have a definite reason to install it somewhere else.

Victor has recently implemented a safety mechanism into the installer so that, as I understand it, it will now refuse to install to the Program Files folder or the Windows folder (after 0.6C is released).

Just to make sure the safety mechanism would cover your situation, can you tell us exactly which folder you installed LFS into?
Quote from Scawen :Victor has recently implemented a safety mechanism into the installer so that, as I understand it, it will now refuse to install to the Program Files folder or the Windows folder (after 0.6C is released).

yes, and the new uninstaller will also refuse to delete the Windows or Program Files folders, if that would be the case.
What if someone tried to install to "C:\Documents and Settings" or "C:\...\Desktop" for example?

Just wondering if there is a catch-all solution or, if not, hopefully we'll at least cover the most common problems.

It seems like it might be distastrous any time they try to install to a folder that is not empty, unless that non-empty folder is already an LFS folder...?
What if someone installs LFS in C:\LFS or D:\LFS?
Does the uninstaller deletes whole hard drive?
I could protect other folders, if that seems wise. Just name'm

Or, having had another look ... atm the installer detects if the installation folder already contains an LFS install and then asks you if you want to overwrite that.
I could add a same check that will ask you if the folder you are going to install into is not empty. Assuming of course that nobody would want to install LFS (or any program) into an existing folder, or worse, one that contains other programs.
Quote from delis :What if someone installs LFS in C:\LFS or D:\LFS?
Does the uninstaller deletes whole hard drive?

no, the uninstaller would delete d:\LFS - because that's the folder. The uninstaller doesn't just delete folders above the install folder.

The problem described in this thread is if you have installed LFS to for example c:\Program Files\. So that would mean the LFS.exe is right there in your Program Files folder (which shouldn't really ever be the case, for any program).

So then c:\Program Files\ is the installation folder and during an uninstall it would delete that same folder. Because that's where you installed LFS.

The mentioned fixes will prevent you from installing into such a folder and it will prevent such folders from being deleted upon uninstallation.
Allow the user to select the installation folder, but forcefully append \LFS to the path, in a way that it's clearly indicated. Not optimal if one doesn't want to call their LFS folder LFS, but I suppose there could be a custom option as well.
I might be missing something, but AFAIK there are only three situations that may occur concerning the installation path
  1. Selected path does not exist -> The installer should attempt to create the necessary folders and proceed.
  2. Selected path points to an empty folder -> The installer should proceed and install into that folder.
  3. Selected path points to a non-empty folder -> The installer should refuse to install into such a folder or, as NotAnIllusion suggested, forcibly create a \LFS subfolder
Would it be possible to implement such a check in the installer LFS uses?
Close, but I think you missed one :

4. Selected path points to a non-empty folder that is an LFS folder (e.g. a folder that contains an LFS.exe) -> The installer should proceed and install into that folder

But what is an LFS folder? Just a folder that contains an LFS.exe? Or maybe a more sophisticated check is possible.

Maybe with these four possibilities and subsequent actions, there is no need for special cases such as Program Files / Windows / Desktop, if "\LFS" would be forcibly appended to non-empty, non-LFS folders.
You will create the installer in of the archive And you will delete the folder in the manual (in the hand)
Quote from Scawen :
Maybe with these four possibilities and subsequent actions, there is no need for special cases such as Program Files / Windows / Desktop, if "\LFS" would be forcibly appended to non-empty, non-LFS folders.

That's probably the best way to do it, as you're never going to be able to include all the possible special cases because they could be named pretty much anything (symlinks can be a very good way of getting yourself into trouble)
I'll implement the new logic soon. Additionally I'll keep the uninstall delicate folder checks in place, just in case. It could always be that someone has installed LFS into Program Files at this moment, then patches it later on and then decides to uninstall. Then his Program Files folder won't be deleted.
Couldn't you just have the uninstaller remove only the files the installer originally installed I.E. make a list of all the files LFS uses and have the uninstaller remove only those filenames?
Quote from edge3147 :Couldn't you just have the uninstaller remove only the files the installer originally installed I.E. make a list of all the files LFS uses and have the uninstaller remove only those filenames?

AFAIK it can already do that, but LFS generates so many files (including many large ones like skins, replays etc) that the uninstaller won't know about but you may not want taking up space, which is why the 'delete everything' option is there.
1

FGED GREDG RDFGDR GSFDG