Build action

For all your non-technical questions.
Post Reply
garylyb
Posts: 10
Joined: Sun Jan 22, 2006 9:34 am

Build action

Post by garylyb »

I have 3 components that can be installed in any combination.

The clean installation is fine.

When I restart the installation, and modify it, the old components are deleted, and the new ones installed correctly.

The registry key I set reflects the correct combination, it's written to the registry correctly.

Up to now, it all works as expected.

Then I do a build, and I have unchecked the option set that says change revision code automatically upon rebuild.

Now, the installer goes into the modify screen, I can select a different set of options, my variable is set correctly, I execute the write registry function, but the registry never changes.

Also, the old components are not deleted from the system, only new ones added.

The revision code did not change, what is going on?
Gizm0
Posts: 339
Joined: Wed Nov 09, 2005 8:47 pm

Post by Gizm0 »

It's normal behavior.
As far as the revision code doesn't change, if a previous installed product is on the system with the same revision code, then nothing changes, because IA understands that the same product is installed.
If you increase the revision code, then IA will understand that a previous version of the product is installed on the target machine and act correctly.
Panagiotis Kefalidis
Software Design Team Lead
\"In order to succeed, your desire for success should be greater than your fear of failure\"
Install[b]Aware[/b] Software Corporation
garylyb
Posts: 10
Joined: Sun Jan 22, 2006 9:34 am

Post by garylyb »

Hi -

If IA only looks at the revision code, then something is wrong here.

There are 3 cases when I run the installer again -


1 - Same build same revision code -

NEEDSUPGRADE is not set

The old components are deleted.
The registry is written correctly.


2 - New build, same revision code

NEEDSUPGRADE is not set

The old components are NOT deleted.
The registry is written NOT correctly.


3 - new build, new revision code

NEEDSUPGRADE IS set

IA wants to delete the existing installation, not modify it.


Case 1 and 3, I understand, but If IA only looks at the revision code, then case 2 does not make sense.

Thanks

Gary
CandiceJones
Posts: 904
Joined: Thu Dec 22, 2005 7:03 pm
Contact:

Post by CandiceJones »

Hi Gary!

Case #2 is simply the way Windows Installer works. The revision code of a setup package lets Windows Installer uniquely identify it. Each package must have a unique revision code, and this is why the revision code is set to auto-change by default.

Now if you are disabling the auto-change feature, it is really your responsibility to manually change the revision code every time you change your setup - newer files, or newer logic. If you don't change the revision code, you are essentially breaking and confusing MSI. Which is why it leads to the results you have observed.
Candice Jones
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
garylyb
Posts: 10
Joined: Sun Jan 22, 2006 9:34 am

Post by garylyb »

Ok, it sounds like if I use MSI, I really need 2 different installs with 2 different product codes. One for programs, and the other for data, as I don't want to delete all those data files when new programs get installed.

This just adds more complexity than I wanted.

Thanks for all the quick responses.

Gary
CandiceJones
Posts: 904
Joined: Thu Dec 22, 2005 7:03 pm
Contact:

Post by CandiceJones »

Hi Gary!

If the data files must not be deleted, you can mark them as permanent in Install Files.
Candice Jones
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
garylyb
Posts: 10
Joined: Sun Jan 22, 2006 9:34 am

Post by garylyb »

Hi

That might work.

Another question, on a web deploy, when do the files get downloaded from the web?

Does it happen after apply install, and only if an Install Files command was executed for one of the files?

Thanks

Gary
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post by MichaelNesmith »

Gary,

The files get downloaded when an installation command that needs access to source media executes. This does not wait for Apply Install to be called. Install Files would be a command that would trigger a media download. Write Registry would not - just two examples.
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
garylyb
Posts: 10
Joined: Sun Jan 22, 2006 9:34 am

Post by garylyb »

Well, this is still driving me crazy.

I have 3 components A,B,C - all of the install files are marked permanent

On a clean install, I install component A - it works fine.

Now I restart the installer, it goe into modify, I select A and B, I trace through the code, and the install files for A and B are both called.

Only the files for component A are actually installed - component B is not added.

I have unselected Component A, and selected B - still the A files are installed again, B is ignored.

I thought that permanent just means the the files are not uninstalled - and they are not, but it seems to mean that the original installation is permanent and can't be modified - at least that's how it's working.


Gary
Post Reply