cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
IanBrooke
Level 5

Always Install

Hi,
I have a question regarding "Features/Always Install". I am uncertain if this title means "ALWAYS install".

At the moment this is populated with various dll's (all Microsoft) which were automatically imported from a VB project. What I really want is these to only be installed if they are more recent than any existing version on the users computer. Is there a way to do this?

Thanks
Ian
Labels (1)
0 Kudos
(4) Replies
IanBrooke
Level 5

Does anybody have a answer to this question, it's very important to me.

If there is no-one who knows, is there anywhere I can get an answer?

Many thanks
Ian
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

It's just a name, but typically this feature is not shown to the end-user, so there is no chance for it to be unselected manually. You can write system searches, feature conditions, custom actions, etc., each of which influence this feature's likelihood to install in other ways.
0 Kudos
IanBrooke
Level 5

Michael,
Thank you VERY much for your reply.

Sorry, I'm very new to this! I think you are saying that the "always install" only means that the end-user has no option to deny installation of these files which is fine.

I'm still unsure what happens if any of the files is already installed on their system, or if a more recent version is already installed. I do understand the standard MSI "file overwrite" rules but have no idea if these apply to these files.

I don't really understand your 2nd sentence, is there an example anywhere explaining- how to "influence this feature's likelihood to install"?

Thanks again
Ian
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Windows Installer's file versioning rules apply to all files it installs as part of a feature>component>file relationship. (Other rules apply to DuplicateFile and such tables.)

As far as influencing a feature's likelihood to install, there are a multitude of approaches here. There are installlevels and feature conditions. There's the feature selection tree and control events such as AddLocal. There's properties including ADDLOCAL, and API calls such as MsiSetFeatureState. That's why I said influence - there's an ordering to how these are evaluated, and any later one can reverse the decision of an earlier one.
0 Kudos