All we are actually doing for an uninstaller is writing a rexx script (and it is pretty simple) when the installation is finished but just before the program closes. It is written using information from the users installation choices so if they put dll's in c:\bin\dll for example, we add a line in the script for every dll that is put there. Using a rexx script also means that after deleting all the files and destroying any objects that the installer created, it can back out of the directory and delete it too leaving no trace of the installation... with some minor exceptions...
Some of the script writing is conditional... IF there were dll's written to another directory THEN add warnings about deleting them etc. We could add the config.sys info removal also but because it is put together dynamically, without our actual reviewing of it when it is finished, we need to be sure it works EVERY time with NO mistakes before we add something of that nature.
The UnInstall script is actually pretty simple and is always customized to the specific installation. You can see exactly what it is by taking a peek at the script after you install a program using it.
It is also possible for you to modify the uninstall script also via a plugin if you need to. Let's suppose that you have written a plugin to do some extra work. You might:
These may be great lengths to go to but they will help overcome the limitations of what this installer can do for you.
The uninstall script also makes the user confirm that any dll's are looked over first if there were dll's installed outside of the program directory. It will not run until the user reads the warnings and affirms the deletion.
| <SFX Installer Notes | SFX Installer | Tips> |