Installation monitor and uninstaller

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

andreas84
Posts: 98
Joined: Sat Oct 25, 2008 4:09 pm

Installation monitor and uninstaller

Post by andreas84 » Wed Sep 26, 2012 2:41 pm

Both are not new i know but i think they should be inside the core and not seperated programs for the obvious reason that it need a very deep access to the system and third party software might mess the system up when going so deep.

So the installer and uninstaller together with a read only os would create a copy of the core ros files and write down every change the program does to make it easy to uninstall it without that it leaves trash behind. I also should be able to migrate the settings each program did to a new react os installation. And this would indeet be new.

The installation monitor would check the installation process for malicious behavior and depending on settings deny it or inform the user or permit it.
It further would also inform the user over everything the installer did. Lets say every regentry and hook.

DOSGuy
Posts: 582
Joined: Wed Sep 14, 2011 5:55 pm
Contact:

Re: Installation monitor and uninstaller

Post by DOSGuy » Wed Sep 26, 2012 4:35 pm

An open source Windows-like OS offers a tantalizing opportunity to give users more control over their software than Windows offers, and it is indeed a good idea. For me it comes down to this: the ReactOS team has been trying to get the OS to work at all for 14 years and haven't even made it to beta stage. Let's not burden them with a lot of requests for things that Windows can't do if we want the project to achieve its primary goals within the 21st Century. There will be an eternity to make ReactOS better than Windows once it becomes as good as Windows.
Today entirely the maniac there is no excuse with the article. Get free DOS, Windows and OS/2 games at RGB Classic Games.

andreas84
Posts: 98
Joined: Sat Oct 25, 2008 4:09 pm

Re: Installation monitor and uninstaller

Post by andreas84 » Thu Sep 27, 2012 5:50 pm

dear dosguy,
i did not say everything should be done right now. I opened a discussion about a feature i would like to see one day.

However for the installer part i think the wondows installer is crappy and a main reason why windows get slow after one year use.
Indeed i think the stable version of ros should come with an installer that can cleanly remove programs.

The installation monitor is an other story it can come later with maybe ros 1.2.

But independent of this i think it should be discussed now.

EmuandCo
Developer
Posts: 4294
Joined: Sun Nov 28, 2004 7:52 pm
Location: Germany, Bavaria, Steinfeld
Contact:

Re: Installation monitor and uninstaller

Post by EmuandCo » Thu Sep 27, 2012 6:01 pm

you can write crap installer with msi, with nsis, with everything. its not a installer system's fault at all... pebkac ^^
Image
ReactOS is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes.

DOSGuy
Posts: 582
Joined: Wed Sep 14, 2011 5:55 pm
Contact:

Re: Installation monitor and uninstaller

Post by DOSGuy » Thu Sep 27, 2012 6:25 pm

andreas84 wrote:Indeed i think the stable version of ros should come with an installer that can cleanly remove programs.
Assuming that it works in ROS, why don't we just put Revo Uninstaller Free edition in RAPPS?
Today entirely the maniac there is no excuse with the article. Get free DOS, Windows and OS/2 games at RGB Classic Games.

andreas84
Posts: 98
Joined: Sat Oct 25, 2008 4:09 pm

Re: Installation monitor and uninstaller

Post by andreas84 » Fri Sep 28, 2012 9:55 am

a third party software might be a temporary solution if this fits with the ros policy at all. Third party software has usually a bulk of problems when you try to bundle it.

Also i suggested two applications here: one is a proffessional installer and uninstaller the other is a security monitor which would use the data of the installer. There are three more applications using the data from the installer i want to introduce: registry repair: the os knows what a program installed to the registry. so in case of corruption of the entrys it can reset them. It could also wipe the registry and reinstall all programs installef before.

bugs could be reported with the report including all hacks that programs made.

the installer can make a profile for every program and migrate the programs and whole custom settings to a new ros istallation.

All this things would be easy to program after the os knows what programs do inside it.

milon
Posts: 969
Joined: Sat Sep 05, 2009 9:26 pm

Re: Installation monitor and uninstaller

Post by milon » Mon Oct 01, 2012 3:17 pm

Initially, I was opposed to the idea of having a built-in uninstaller etc. I gave it some thought, though, and it's not a bad idea. It's not something the ROS devs can do right now, however. They're focused on getting ROS improved and stable. It would be great if there was a way to pursue this without using ROS dev time. Andreas84, would you feel capable of coding this? As you've said, it would be a nice addition if ROS could track installs and properly uninstall 3rd party software. The registry monitor would potentially be a great feature for more advanced users, but has nightmare potential for newbies. Whoever is coding it would need to keep that in mind. ;)

DOSGuy
Posts: 582
Joined: Wed Sep 14, 2011 5:55 pm
Contact:

Re: Installation monitor and uninstaller

Post by DOSGuy » Mon Oct 01, 2012 4:58 pm

It only makes sense that the OS should record everything that happened during installation so that it can undo those changes during uninstallation. As milon said, I wouldn't want to divert the core devs from other tasks for this right now, for the obvious reason that most of us are completely wiping and reinstalling ROS every few days as new commits are rolled out. When ROS gets to the point where people would use the same version long enough to accumulate crap in their registry/hard drive, it would be a great feature to have. Even then, I feel that third party software like Revo Uninstaller has already jumped in to fill this need that Microsoft ignored, so ROS users should get "good enough" crap removal from third-party uninstallers in the meantime, provided that we put at least one of them in RAPPS for the benefit of people who don't already know about them.
Today entirely the maniac there is no excuse with the article. Get free DOS, Windows and OS/2 games at RGB Classic Games.

Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Installation monitor and uninstaller

Post by Z98 » Mon Oct 01, 2012 7:03 pm

You guys do realize that it might not be a single process that is spun up for program installation, right? Many installers spawn child processes or even additional installers. Those child processes could go modifying files and the like either for configuration purposes or to handle something the installer is not capable of. And then there are multi-stage installations that involve a self-extracting zip to one that download additional files off the internet. The only guaranteed way to be able to roll back changes is checkpointing the harddrive state, which is basically what backup and restore does. Otherwise the bookkeeping that you'd need to build in for process tracking and the like would easily dwarf everything else.

Black_Fox
Posts: 1584
Joined: Fri Feb 15, 2008 9:44 pm
Location: Czechia

Re: Installation monitor and uninstaller

Post by Black_Fox » Tue Oct 02, 2012 9:52 am

Well, the people here are usually divided into two groups: 1) "I propose we do xyz" and 2) "I have done xyz, what do you think?" :)

To the topic: The uninstaller/installation checker would have to have some pretty sophisticated heuristics to guess what was installed by the installer and what was just created by unrelated app during the installation, on top of what Z98 said there would also be no simple way to track any files that the application may have created on the disk throughout its lifetime - files are not created just during the installation.

rembrandt
Posts: 88
Joined: Thu Oct 08, 2009 9:58 am

Re: Installation monitor and uninstaller

Post by rembrandt » Tue Oct 02, 2012 12:32 pm

Windows(R) does it with System Restore function. The only practical way to catch the changes installers make is by using before/after snapshots. The other suggestions I read here would have to capture modifications on Debug level; for every possible DO function, you would need to develop an UNDO function, and make sure everything is rolled back without compromising system integrity and dependencies....hmmm... no thanks.

Black_Fox
Posts: 1584
Joined: Fri Feb 15, 2008 9:44 pm
Location: Czechia

Re: Installation monitor and uninstaller

Post by Black_Fox » Tue Oct 02, 2012 7:42 pm

If you install an app and use it for a year and then want to uninstall it completely, how do you know the files it created from files another app created? ;)

PurpleGurl
Posts: 1769
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Installation monitor and uninstaller

Post by PurpleGurl » Sun Oct 14, 2012 1:47 am

Yes, you'd have to make sure that if you record all changes that you only record the related ones. I was going to say to check the running processes before the program starts, but while that would catch child processes, it would also catch new programs. One idea would be to lock down the ability to launch new programs until after the installer ends, but what if that program hangs and never releases itself? So the user could not load anything that is not already running.

Black_Fox
Posts: 1584
Joined: Fri Feb 15, 2008 9:44 pm
Location: Czechia

Re: Installation monitor and uninstaller

Post by Black_Fox » Sun Oct 14, 2012 12:53 pm

If a process creates another process, they should be in parent->child relationship, thus you know what is created by installation and what is not. Or does that apply only to *nix? Also there's this thing that seems to do what this topic is looking for.

Aeneas
Posts: 463
Joined: Sat Oct 10, 2009 10:09 pm

Re: Installation monitor and uninstaller

Post by Aeneas » Mon Oct 15, 2012 9:48 am

Then there is another "cheap" solution, though not maximum user-friendly:

1. Present the user with an option of a "secure uninstall" - where files & settings are deleted conservatively - and an "experimental full uninstall" - where more stuff may be deleted which is subject to guesswork.

2. Whatever the user picks, have an option "select for keeping" - you show what you would remove with little checkboxes on the left and the user may tick those things that he would like to keep.

Most users will use the "secure uninstall" and not keep anything whatsoever, meaning you will leave some dirt on their disk, but that might not be entirely inacceptable; after all, we all know the message from Windows that not all files could be removed... - Surely, the problem remains how to narrow down the "secure uninstall" set, but maybe there are some "usual suspects", e.g. the folder of the program? And maybe "catching" some dlls? Maybe something can be done about the registry, too? (After all, "some other program will create files at the same time" rarely will relate to dlls - you may assume some text file, some configuration, but nobody "just like that" creates huge system files, and maybe the user should simply follow the advice of installers and just close all the open stuff before installing something.)

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest