I'm fond of housekeeping, but only INSIDE the computer (ask my wife).
When the end user wants to uninstall my app (I have some 'dumb' customers), I want to clean up his computer. By default SUF70 saves uninstall.exe (450,000 bytes) in C:\WINDOWS\ProductName. You will notice: After building 10 projects you have 10 occurrences of uninstall.exe (=4,500,000 bytes). After uninstalling your app, the subfolder with content still is on the disk.
In addition you eventually have two log files; by default:
%WindowsFolder%\%ProductName% Setup Log.txt
%WindowsFolder%\%ProductName% Uninstall Log.txt
Personally I don't like to have a lot of files in Windows root directory; I want to put them into subfolders. In SUF70 I always replace the space in the log file names with a backslash. Then I have all three files in the Product Folder under Windows.
Space available isn't the main problem these days. Still I want to 'clean up' when the end user uninstalls my app (can you understand why?). I have now created a global function to perform this task. Just add gu_DeleteUninstaller() to Uninstall Action.On Shutdown.
If you want to delete the log files, you have to add another line: gu_DeleteLogFiles(). All the files are deleted on reboot. (Both 'default location' and 'preferred location' is covered by the function.)
Why create an Uninstall Log and immediately delete it in the same operation? Well, if an error occurs during the uninstall process, the log files can be copied to another location (before reboot). (You can add a message to tell the user to do so.)
I you want to try my functions, save the attached file to the ..\Includes\Scripts folder with .lua extension. You have to add three lines in Actions.On Shutdown. You'll find all instructions as comments in the lua file.
Feel free to comment and suggest improvements! Do you think I'm crazy with my housekeeping? Please tell me.

