Page 1 of 1

Command 'Install Files' (Permanent) fails in maintenancemode

Posted: Mon Apr 03, 2006 11:19 am
by MikeFieger
When checking the 'Permanent File...' - Checkbox of the 'Install Files' command, the command is not executed correctly.

Bug-description:
In an optional component (Get component state) I am copying some files that have to remain on the system even if the application is uninstalled.
If I install the application with this option selected, everything is fine.
If I install the application without this option, the files are missing. (Still ok).
But if I start the setup now again and change the option from unchecked to checked, installaware calculates the space needed correctly (exactly the size of the files) and starts working and finally says that the setup has finished, but the files have not been copied :!:

It took me quite some time to find out what was going wrong and that it worked if I unchecked the 'Permanent File...' checkbox, but this not a solution I can live with because my program B would get severe troubles if its data-files were deleted by installaware upon uninstallation of this program (Program A).

I hope you can provide a bugfix for this!

Posted: Mon Apr 03, 2006 3:17 pm
by MichaelNesmith
This has been confirmed and escalated. Thank you for reporting.

Posted: Mon Apr 03, 2006 7:20 pm
by sinan
This is a tricky situation, and we'd like to receive feedback, and open this for discussion, before changing the current implementation.

There are two possible implementations for this:

1) When a feature is removed, permit removing the permanent file/registry entry. When a feature is installed, install the permanent file/registry entry. When product is uninstalled, keep the permanent item.

Pro: Features can be added during maintenance, and their associated files will be installed normally.
Con: When features are removed (as part of a maintenance install), the permanent setting has no effect.

2) When a feature is removed, disallow removing the permanent file/registry entry. When a feature is installed, install the permanent file/registry entry only if its a first time install. When a product is uninstalled, keep the permanent item.

Pro: Permanent items are really permanent, even if feature selections change during a maintenance.
Con: If a permanent item is not installed during first-time install, it cannot be added later in a maintenance install.

So, as you can see, both approaches have their limitations!

The current implementation is #2, which favors the permanency, and loses the flexibility during maintenance.

The alternative implementation can be #1, which favors flexibility, but loses permanency when feature sets are changed during maintenance. Note that uninstalls are not affected (as long as the feature has been installed, its permanent items will survive an uninstall - just not a deselection of the feature during maintenance).

So - ideas? Please let us know!

Posted: Tue Apr 04, 2006 7:50 am
by jimo
Hi Sinan,

Can you not implement #1 and have a flag on permanent items that indicates (non)removal during feature maintenance?

If not, then, using implementation #2, a possible work around is to create a "Light Mode Setup" for the optional component, this way during a maintenance if the feature is removed you use <setup.exe> /s MODIFY=FALSE REMOVE=TRUE UNINSTALL=YES. The permanent files are installed whether or not it is a first time install and when the feature or the main product are uninstalled the permanent files stay.

Am I totally crazy here?

Posted: Tue Apr 04, 2006 2:26 pm
by MichaelNesmith
#1 with your workaround makes a lot of sense to me.

If just #1 or just #2 were possible, without any of the workarounds, which would you prefer?

Posted: Tue Apr 04, 2006 2:35 pm
by jimo
Then I would want #1.