PDA

View Full Version : Managing Installation Backups


NewsArchive
02-09-2005, 04:09 AM
[Tuesday, February 08, 2005 5:56 AM]

In testing an upcoming program release with SB5, I discovered this tiny 15MB
installed program had ~200MB of backups from repeated installs. From the file
numbering, there were a total of 16 installs there. I thought it might be to
support rollbacks, but I don't see that rollback is available in the
uninstall. That's actually a relief, as the thought of a customer being faced
with a choice of a dozen+ prior installs is scary.

So what's the point of simple stacking of backups? Other then disabling
backups, I see no means of exercising any control over this behavior. Am I
missing something here?

--
Best regards,

Mark

NewsArchive
02-09-2005, 04:09 AM
[Tuesday, February 08, 2005 12:12 PM]

Mark,

We cannot reproduce this here (using build #1040). Would it be possible to
send me a small demo script?

Thanks,
Friedrich

--
Friedrich Linder
www.lindersoft.com
Fax: 1.954.252.3910

NewsArchive
02-09-2005, 04:10 AM
[Tuesday, February 08, 2005 3:40 PM]

>Mark,
>
>We cannot reproduce this here (using build #1040). Would it be possible to
>send me a small demo script?

Sure, but it gets worse. A good deal worse, actually.

I just rebuilt the install with 1040 and performed three installations. In
the backup directory I have all the overwritten files like so:

c60ascx.0001
c60ascx.0002
....

I then used Add/Remove Programs to perform an uninstall, which appeared to
complete sucessfully except that the program's Add/Remove Programs item
remained.

I checked the install directory and found the program itself intact
(completely intact. It runs fine). Only the *.0002 files had been removed
from the backup directory. The *.0001 files remain.

The behavior looks like a silent rollback, but I have no idea if that's your
intent (and hope it is not). With that in mind, I attempted a second
uninstall from Add/Remove Programs. It looks like the first uninstall removed
the install log as Add/Remove Programs displays the "Uninstall Error" "...may
have already been uninstalled." message.

So the net result of three installs + one uninstall is removal of the third
install's backup files and a broken Add/Remove Programs entry.

I'll email that script to you, but it will have all the local files in it. If
the compiled install is of any use, let me know and I'll make it available.

--
Best regards,

Mark

NewsArchive
02-09-2005, 04:10 AM
[Tuesday, February 08, 2005 4:15 PM]

Mark,

Not a silent rollback. I see that you have "Backup Replaced Files" set to
"Yes". So if you install (overwrite without uninstalling) three times, then
you have c60ascx.0001, c60ascx.0002, and c60ascx.0003 in your backup folder
(and in your uninstall log). The second and third install (without
uninstalling) also backups your Add/Remove Program registry setting.

So if you uninstall your 3rd install, the uninstaller rolls back all your
..0003 files and the Add/Remove Program registry setting. But the
uninstaller and the .log deleted itself, so there are still the .0001 and
..0002 files and a Add/Remove Program registry setting (broken now because no
uninstall available any longer).

Friedrich

--
Friedrich Linder
www.lindersoft.com
Fax: 1.954.252.3910

NewsArchive
02-09-2005, 04:10 AM
[Tuesday, February 08, 2005 5:35 PM]

>Mark,
>
>Not a silent rollback. I see that you have "Backup Replaced Files" set to
>"Yes". So if you install (overwrite without uninstalling) three times, then
>you have c60ascx.0001, c60ascx.0002, and c60ascx.0003 in your backup folder
>(and in your uninstall log). The second and third install (without
>uninstalling) also backups your Add/Remove Program registry setting.

That's the behavior. Are you operating under a presumption that an uninstall
will occur prior to an install? I can assure you it will not.

>So if you uninstall your 3rd install, the uninstaller rolls back all your
>..0003 files and the Add/Remove Program registry setting. But the
>uninstaller and the .log deleted itself, so there are still the .0001 and
>..0002 files and a Add/Remove Program registry setting (broken now because no
>uninstall available any longer).

Exactly. As I said in email, I have no idea what behavior your design
intends, but what is happening is bad news.

Disregarding the issue of the broken Add/Remove Programs and the removed log,
what this resembles is the patching behavior used for Clarion. Each patch is
discrete, creates its own unique backup, has an unique uninstxNN.exe + ..log,
etc. I have 16 in my root Clarion directory. It's an unmanageable mess, but
one that I am free to ignore.

My point is that Clarion's install seems like the best/only use of multiple
backups as implemented, but creates a level of complexity that is impossible
for a non-technical customer to deal with. These are folks that often can't
find a downloaded install file on their own machine, much less deal with
multiple uninstalls for a single product.

Ok, I just got your email, so since I'm here I'll go ahead and respond here.
I find it interesting that we both chose Clarion as an example. :}

>Let's assume, SoftVelocity provides version 6.00, then 6.01, 6.02 and 6.03
>updates. After installing all three updates, you have c60runx.001,
>c60runx.002, and c60runx.003 in your backup folder. SV uses different
>uninstaller and .log name for all updates. So the user can rollback to
>6.02, 6.01 and even 6.00.

Technically a user can rollback, but consider what it takes to do so. Picking
the first log in my CW root, Clarion61EE Hotfix 9026.log, I have to open it
in a text editor and locate the line that names the uninstall executable to
know which of the 16 uninstxNN.exe will rollback from 9026. We both know that
the average customer cannot and will not do that. So while it may work, it's
useless.

>Missing documentation is the problem here <g>. But the backup option seems
>to work perfect, because you have all the backup files available ;-)

Careful with invoking perfection. The files are indeed there, but there is
nothing that can be done with them absent the Clarion install paradigm.

>Microsoft recommends to uninstall previous versions (if it is not an
>upgrade).

As do I, but if a previous version exists it's always and upgrade. Consider
the many products that deliver interim releases by installation of later
demo. That's one way I deliver updates.

>Do you have any other suggestion on how to handle this?

You know I do. :} Whatever you ultimately decide to do, please keep the
end-users of the install and their LCD skill level in mind.

Silently rotate a single pair of backups to be used with a single rollback
(whether silent, or explicit). IOW, 2nd. install creates backup 1; 3rd
install replaces backup 1 with backup 2 and after successful installation
removes backup 1 files, leaving one backup.

This may be doable already in script. Expose a backup option to the end-user.
If selected, remove any existing backup and replace with current backup.
Similar to the one above, but "noisy".

Retain the multiple backups and implement user selected rollbacks.
Personally, I hate this and wouldn't use it if give a choice.

All of the above, or anything else that comes to mind, making the behavior a
choice for the developer.

Tell me to shut up and just turn off backup in my scripts. :}

--
Best regards,

Mark

NewsArchive
02-09-2005, 04:11 AM
[Tuesday, February 08, 2005 5:59 PM]

Mark,

I'll answer in detail tomorrow (I am going home in a few minutes). But all
previous XP service packs also created different entries in your Add/Remove
Programs and you have tons of service pack uninstall files (I have 30
service pack uninstaller files on my XP SP2 machine). You can also start
each and every uninstall directly.

And MSI does not allow to install an application before you did not
uninstall a previous version. SB5 gives you the option to do everything.

Friedrich

--
Friedrich Linder
www.lindersoft.com
Fax: 1.954.252.3910

NewsArchive
02-09-2005, 04:11 AM
[Tuesday, February 08, 2005 6:16 PM]

>Mark,
>
>I'll answer in detail tomorrow (I am going home in a few minutes). But all
>previous XP service packs also created different entries in your Add/Remove
>Programs and you have tons of service pack uninstall files (I have 30
>service pack uninstaller files on my XP SP2 machine). You can also start
>each and every uninstall directly.

Perhaps I'm overly concerned for the end-user, or perhaps no average end-user
could ever make intelligent use of dozens of uninstalls.

>And MSI does not allow to install an application before you did not
>uninstall a previous version. SB5 gives you the option to do everything.

Yea, and my best bet is to simply not use backups. I'm fine with that.

--
Best regards,

Mark

NewsArchive
02-09-2005, 04:11 AM
[Tuesday, February 08, 2005 6:42 PM]

Hi Mark,

>Yea, and my best bet is to simply not use backups. I'm fine with that.

Another option would be to not let SB do it at all and do it yourself
from a dll, that way you can do exactly what you want to do:)

Best regards,

Arnór Baldvinsson
Icetips Software
San Antonio, Texas, USA

NewsArchive
02-09-2005, 04:12 AM
[Tuesday, February 08, 2005 7:02 PM]

>Hi Mark,
>
>>Yea, and my best bet is to simply not use backups. I'm fine with that.
>
>Another option would be to not let SB do it at all and do it yourself
>from a dll, that way you can do exactly what you want to do:)

Quite true. I'm actually quite comfortable with dumping backups altogether,
though. In fact, I just did. :}

--
Best regards,

Mark