PDA

View Full Version : Major Upgrade -- using same version as already installed



NewsArchive
12-04-2001, 01:00 AM
I want every installation to work like a major upgrade, even if the user
installs the *same* version that is already installed, i.e., product and
package codes are same as installed. In that case, it always does an
uninstall -- only -- instead of doing the normal uninstall-then-install
behavior of a major upgrade.

ISDev 7.01, standard project, enable maintenance = no.

NewsArchive
12-04-2001, 01:00 AM
I should add that in the Upgrade table, I have VersionMin set to 5.0.0 and
VersionMax set to 5.999.999, in order to pick up "any version 5".

"Jon Balgley" <jbalgley@heidecorp.com> wrote in message
news:3c0dba62@news.installshield.com...
> I want every installation to work like a major upgrade, even if the user
> installs the *same* version that is already installed, i.e., product and
> package codes are same as installed. In that case, it always does an
> uninstall -- only -- instead of doing the normal uninstall-then-install
> behavior of a major upgrade.
>
> ISDev 7.01, standard project, enable maintenance = no.
>
>

NewsArchive
12-05-2001, 01:00 AM
That's the way standard projects work, unfortunately, it is a holdover from
the 6.x days. It is controlled by an engine called IDRIVER.EXE - very
similar to the IKERNEL.EXE from Installsheild 6.x.

Enable maintenance=no really means do an uninstall in OnMaintUIBefore when
running the second time. Maintenance=yes means show the maintenance dialogs
in OnMaintUIBefore.

See the years of postings of "how do I disable maintenance mode" in
Installshield 6.x groups and Installsite.

There is no way to do what you want in any version of Installshield above
5.x. Please prove me wrong - I really want to be wrong here.

Ted.

"Jon Balgley" <jbalgley@heidecorp.com> wrote in message
news:3c0dba62@news.installshield.com...
> I want every installation to work like a major upgrade, even if the user
> installs the *same* version that is already installed, i.e., product and
> package codes are same as installed. In that case, it always does an
> uninstall -- only -- instead of doing the normal uninstall-then-install
> behavior of a major upgrade.
>
> ISDev 7.01, standard project, enable maintenance = no.
>
>

NewsArchive
12-05-2001, 01:00 AM
"GeorgeF" <georgef@pqafrica.co.za> wrote in message
news:3c0dcda5@news.installshield.com...
>
> Jon, logical question.what does the install log tell you?

Hmm. There are two differences before it starts the
installing/uninstalling:

When it Installs, it runs two additional actions:

First, and most suspiciously, after ISSetupFilesExtract:

Action start 8:00:08: ISSetAllUsers.

1: InstallShield - ISSetAllUsers (Begin)

1: Opening Database

1: {57F12287-EFD8-4136-85D9-FF23C839F3BB} 5.0.0 5.999.999 1025 <<< This
is my product's upgrade code

1: Closing Database

1: InstallShield - ISSetAllUsers (End)

Action ended 8:00:08: ISSetAllUsers. Return value 1.



And second, it runs "Resolve Source" between "Isolate Components" and
"CostFinalize".

And thereafter, the log is identical until it gets to the point where it
("IDriver"?) calls MsiInstallProduct with either "ADDLOCAL=..." or
"REMOVE=All".