Jump to content
Sign in to follow this  
JLSeagull

Uninstallers. How safe are they.... and who checks them?

Recommended Posts

Personally I think Aerosoft should compensate you in some way -- either with money or with free addons. I will be keeping an eye on this and the other thread to see if they do anything. Their response will certainly affect my future purchases from Aerosoft.

 

<snip>

 

Will this work with any installer? I am under the impression that many if not most commercial addons need to be pointed to the correct FS folder, and that some find FS automatically by looking in the Registry.

 

Mike

Hello

 

Aerosoft is a very serious company and  Mathis has already offered or taken measures to compensate WebMaximus and other potentially affected user(s). (Search their forums)

---------------

Reading the registry is "harmless". Writing or deleting keys from the registry is the risky part.

Share this post


Link to post

 

 


Aerosoft is a very serious company and Mathis has already offered or taken measures to compensate WebMaximus and other potentially affected user(s). (Search their forums)

---------------

Reading the registry is "harmless". Writing or deleting keys from the registry is the risky part.

 

I am happy to hear that Aerosoft has taken this action.  Thanks for the heads up.  This is the first time it has been reported on either of the two threads I've been following on this issue. Mathijs might want to post in one of these threads here on Avsim, as many flightsimmers will see this issue here.

 

My point about the registry is not that it is dangerous for an installer to look for a program's location in the registry.  I have two points: 1) some installers look in the registry and don't give the user the option to point the installer to a different location as Wobbie/Robin was suggesting and 2) I think some addons won't work if directed to a "dummy" installation folder.

 

Mike


 

                    bUmq4nJ.jpg?2

 

Share this post


Link to post

I suspect this particular case is a 'perfect storm' combining a few different issues which have been suggested by some posters in this thread.

Yes, some developers build installers using tools which they don't entirely understand;

These tools make some assumptions which might not apply in 100% of installs;

Sometimes the user causes these assumptions to be wrong -- for example, some users shift scenery folders after installation, without giving any thought to how this would affect the uninstaller. This isn't their fault, it's a reasonable thing to do in some circumstances, so developers need to deal with this;

Installers get more complex as users expect them to do more, a simple example is multi-installers;

 

I can see one way that this particular issue could happen. The installer-builder I use has a 'wizard' which builds a script for me, and this can include an uninstaller, and the ability to uninstall from 'add/remove programs' by adding it to the Registry.

The registry location is hard-coded into the script -- that is, it knows the exact name of the registry key. This registry key is normally the name of my scenery addon. Let's say we call it 'My Wonderful Scenery'. The wizard inserts a line which says:

DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}My Wonderful Scenery"

This is a very powerful command, it deletes the uninstall registry key for the scenery at the end of the uninstall, to tidy everything up.

Now let's say that I use this script for years, without issue. Then life gets complicated, one day I decide to build an installer -- and uninstaller -- which can install to any of the four main sims at the moment -- FSX, FSXse, Prepar3d v2, and v3. To differentiate these in the Registry, I add a suffix to the registry key name -- so 'My Wonderful Scenery' becomes 'My Wonderful Scenery FSX' etc. As I use just a single installer/uninstaller, the key name is no longer hard-coded, I have to have a way to work out which one of the four possibilities it is. So I have a script which 'builds' the key name from variables.

Using variables, it is entirely possible that something will go wrong enough that the name just isn't defined at all, so my neat little code:

DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}$AVariableRepresentingMyWonderfulSceneryPlusASuffix"

...becomes

DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"

...if the variable is blank, and this translates to 'delete the registry key for all entries in the uninstall part of the registry'.

 

This is entirely down to the developer, he needs to foresee everything which can go wrong, and most importantly he needs to make sure that his variables are never blank, when they should contain something.

 

I've also seen developers write uninstallers which delete using wildcards -- delete *.* -- which is dangerous, or worse still, use recursive wildcards -- delete ..\*.* which goes up one level. Let's say the the user shifts his scenery folder to the root of a nice new drive. A recursive delete could easily delete their entire drive contents.

 

My installers will do their best to install my scenery, but my uninstallers tend to give up at the slightest sniff of trouble:)

Share this post


Link to post

Friends,

 

For the price of two scenery addons, one can add a new hard drive to their computer and create a system image, which can be updated manually or automatically at any interval one chooses.  Should something go badly and wreck one's installation, it's a one hour recovery right back to how the system was.

 

With all installs, uninstalls and updates I have to do for testing, the peace of mind I have knowing that image exists is priceless.

 

Best wishes to all.


Dave Hodges

 

System Specs:  I9-13900KF, NVIDIA 4070TI, Quest 3, Multiple Displays, Lots of TERRIFIC friends, 3 cats, and a wonderfully stubborn wife.

Share this post


Link to post

Dave - That's exactly what Webmaximus did. Problem is, he made several more backups which ultimately included the offending program. He had nothing to go back to it and if you think about it the only way he could have protected himself was to make and KEEP a backup of his system each time he added new programs. That is not likely.

 

It's one of those unique situations that can make backups useless.

 

Vic


 

RIG#1 - 7700K 5.0g ROG X270F 3600 15-15-15 - EVGA RTX 3090 1000W PSU 1- 850G EVO SSD, 2-256G OCZ SSD, 1TB,HAF942-H100 Water W1064Pro
40" 4K Monitor 3840x2160 - AS16, ASCA, GEP3D, UTX, Toposim, ORBX Regions, TrackIR
RIG#2 - 3770K 4.7g Asus Z77 1600 7-8-7 GTX1080ti DH14 850W 2-1TB WD HDD,1tb VRap, Armor+ W10 Pro 2 - HannsG 28" Monitors
 

Share this post


Link to post

Vic,

 

Well, I suppose it's all in how one does things. 

 

There is a freeware program called Macrium Reflect which allows one to create an initial back up and subsequent backups only update files which have changed. Each time the backup runs (up to the user), only the updated files are compressed to a different file, which means that one has the initial backup and many different indexed indexed updated files to choose from when choosing to reinstall from (similar to how a restore point works, only ALL the changes files in the differential.

Certainly one can not go back to the past, but this information may help others in the future, which is why I offered it.

 

Best wishes.


Dave Hodges

 

System Specs:  I9-13900KF, NVIDIA 4070TI, Quest 3, Multiple Displays, Lots of TERRIFIC friends, 3 cats, and a wonderfully stubborn wife.

Share this post


Link to post

We are in agreement Dave. The differential backup is the method I prefer but many, including WebMaximus seem to prefer the total image backup.  This highlights one of the drawbacks of that method.

 

Your point is well made, it's not only the backup but the type that is important.

 

Vic


 

RIG#1 - 7700K 5.0g ROG X270F 3600 15-15-15 - EVGA RTX 3090 1000W PSU 1- 850G EVO SSD, 2-256G OCZ SSD, 1TB,HAF942-H100 Water W1064Pro
40" 4K Monitor 3840x2160 - AS16, ASCA, GEP3D, UTX, Toposim, ORBX Regions, TrackIR
RIG#2 - 3770K 4.7g Asus Z77 1600 7-8-7 GTX1080ti DH14 850W 2-1TB WD HDD,1tb VRap, Armor+ W10 Pro 2 - HannsG 28" Monitors
 

Share this post


Link to post

It has been said so many time, Do NOT use auti-installers!\I use the autoinstaller to install into a temp directory. For me, pretty essential, as I can see what is in the readme's, folders etc. Them I copy the folders across to my sim, then I use the uninstaller to delete what was installed in my temp directory. Or I just delete everything, then use CCleaner to clean out my registry. Or, it it is an important install for me, I keep the temp directory so I know what to delete from my sim. Doing it this way, you can always check if anything is going to be overwritten by the stuff from the temp directory. You have no control if you use the auto installers straight into your sim. 

 

I like this idea for my own installs, but the challenge I have as a publisher is that a very significant majority of my free and commercial users don't have the technical savvy (or choose not to) to do such a thing. Letting them pick an arbitrary folder as an installation location runs the risk of significantly more problems down the road and gives me no guarantee that the product was installed correctly. Just another support headache, I'm afraid.

 

Uninstallers are hard, because they are the riskiest piece of any product. They are running in full admin mode and are deleting files, registry entries and directories. It's the most likely place for anything to go wrong, and I've made a few mistakes over the years (I had a user install one of my products directly into the FSX root and the uninstall wiped everything out. Yes, there's a check for that case now. :( ) as well.

 

However, that's provided infinitely fewer support requests than any user-controllable process, I'm afraid. Generally speaking my biggest issue is anti-virus that "protects" you by blocking legitimate software without doing much for the real threats.

 

Cheers!

 

Luke


Luke Kolin

I make simFDR, the most advanced flight data recorder for FSX, Prepar3D and X-Plane.

Share this post


Link to post

All of which points to why I like open source portable apps where the only "installer" needed is 7zip.  Meanwhile I have had good success using IOBit as an uninstaller, but that thing is powerful and you need to watch it like a hawk because you could easily nuke your system.

 

scott s.

.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...