Page 1 of 2
InstallAware 2012 - Uninstalling is deleting system files!
Posted: Sun Oct 09, 2011 6:18 pm
by ckaware
Hello,
When I run my installer, then re-run the same installer (maintenance mode is disabled), using same revision number, the installer starts removing key system files/ user home content etc. etc.
Native installer on Windows XP, what could cause this?
Thanks,
Chris
Re: InstallAware 2012 - Reinstallation deleting system files
Posted: Sun Oct 09, 2011 6:26 pm
by ckaware
It's actually happening when I run the programs Uninstaller...
Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Mon Oct 10, 2011 4:47 am
by ckaware
Verified, Apply Uninstall is essentially causing the uninstaller to start and then for some reason delete random system files (desktop icons etc.)
Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Mon Oct 10, 2011 7:41 am
by ckaware
I pinpointed the cause, it looks like a major bug with InstallAware.
If I turn on NATIVE_LOGGING and set LOGGED to:
NATIVE_LOGGING=TRUE
LOGGED=C:\testLog.ext
After these were turned on, RUNNING THE UNINSTALLER resulted in MANY FILES BEING removed that were never installed, including key system files, desktop shortcuts, user home directory etc. etc.
Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Mon Oct 10, 2011 2:14 pm
by giaviv
ckware,
Could you please attach here the project that reproduces this?
Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Tue Oct 11, 2011 5:24 am
by ckaware
Sure,
I'll attach it shortly.
Thanks,
Chris
Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Tue Oct 11, 2011 6:13 am
by ckaware
Hopefully this goes through, it doesn't seem to be allowing an attachment.
Use a VM, install, uninstall and watch files get randomly removed...
Chris
Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Tue Oct 11, 2011 11:35 am
by giaviv
Hi,
You can't set NATIVE_LOGGING to TRUE - it can either be empty, FALSE, or a file name for the log file.. Try changing that.
Also, FYI, line 25 is invalid:
Code: Select all
Set Variable $LEGACY_TITLE$ to OLD TEST
It should be:
Code: Select all
Set Variable LEGACY_TITLE to OLD TEST
Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Tue Oct 11, 2011 12:25 pm
by ckaware
Thanks, the LEGACY_TITLE was a last minute change to avoid submitting company info...
NATIVE_LOGGING by default = FALSE, one would assume TRUE would enable NATIVE_LOGGING, I was under the impression LOGGED gets the value of the file name.
Also, WHY WOULD NATIVE_LOGGING=TRUE cause recursive folder/ file deletion on FILES/ FOLDERS not touched by the installer?
Seems like a pretty major bug no?
Chris
Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Tue Oct 11, 2011 4:30 pm
by giaviv
Chris,
What happens is that setting a value to NATIVE_LOGGING (a value which is not FALSE) causes IA to think that a path was given to it.
When you give it the path "TRUE" - unexpected behavior is actually expected to happen.
Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Tue Oct 11, 2011 4:59 pm
by ckaware
I would think InstallAware would catch this, trap this or throw a compile error here. There is NO reason for InstallAware to destroy a system. Why not check if NATIVE_LOGGING is NOT "", FALSE, or valid path, IGNORE IT?
Chris
Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Tue Oct 11, 2011 5:03 pm
by ckaware
Couldn't someone potentially script this failure during an unattended installation? In any case, just an FYI, I lost my entire weekend due to this issue. Please fix this and any other potential SYSTEM DESTRUCTION behavior

Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Wed Oct 12, 2011 10:37 am
by giaviv
We apologize for this, but this makes perfect sense and works just as described in the documentation.
We unfortunately can't make InstallAware completely fool-proof.
Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Wed Oct 12, 2011 2:17 pm
by gsaunders
giaviv wrote:We apologize for this, but this makes perfect sense and works just as described in the documentation.
We unfortunately can't make InstallAware completely fool-proof.
So that Chris is NOT standing alone here. Relatively new or even folks who may have used InstallAware may make the asssumption of using TRUE instead of leaving it empty or setting it to empty if they set it to FALSE earlier.
Either way there is confusion when most pre-defined variables (of true/false nature) you set to TRUE or to FALSE in InstallAware, but then this one you set to FALSE or leave empty (to represent true).
As a company I would want to remove inconsistencies... espeically if it could lead to this strange and destructive results.
Installaware can't stop every bad thing from happening and cannot make it fool-proof... but Chris didn't strike me as a fool and the assumption of TRUE verses setting it to blank would be a naturally assumption since many the other true/false type pre-definied variables actually allow for TRUE.
Just something to add to the feedback / suggestion box. I would suggest anywhere Installaware has a pre-defined variable that reprents true/false... that it should allow for the TRUE or FALSE value... even if they still allow for an empty string to represent TRUE. Consistency alway makes sense.
Re: InstallAware 2012 - Uninstalling is deleting system file
Posted: Thu Oct 13, 2011 8:56 am
by ckaware
Thanks gsaunders!
If you have no desire to change NATIVE_LOGGING=FALSE, then at least throw compiler errors when a variable is set to something that COULD potentially cause errors (or incorrectly set.) If it expects a path, empty string, or FALSE, only allow these 3...
This killed my build machine
Chris