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

How does IS determine if a file is "newer" ?

I'm having some issues with installing a newer version of my stuff, and it not copying the new files to replace the old ones.

Basically my installer delivers a bunch of driver files to \Program Files\company\product\Drivers then through custom actions install the drivers. When I tried to install a later version only 2 of the 5 driver.sys files were updated with the new versions. All the new files had different md5 sums, different timestamps. One thing I did notice is that if you right-click->Properties->Details on the drivers, the 3 that didn't change have a file version (which is the same) and the 2 that got updated didn't have any file version.

In my Basic MSI project each driver is its own component, containing 2 files: the .sys & the .inf, with the .sys file being the key file. Is that the correct way to do it ?

On a related note, I need to run one custom action for a certain component on a new install, and a different one on an update. On the update case I used the condition 'Installed AND (Not "REMOVE=ALL")' but it doesn't run. What should I use for a condition here ?

Appreciate any help you can offer.
Thanks,
Drew
Labels (1)
0 Kudos
(1) Reply
SherylSikora
Level 6 Flexeran
Level 6 Flexeran

For a better understanding of how Windows Installer handles files during an update, please see this Microsoft help topic:
http://msdn.microsoft.com/en-us/library/aa368599%28VS.85%29.aspx

The versioned files have not been updated because the file version has not changed. The unversioned files have been updated because the the file time/date and file hash have changed. You should be able to see this information if you generate a verbose installation log during your update. Look for the file names in the log and you will find an explanation of what it is doing (usually).

If you are doing a major upgrade for your update you can use the UPGRADINGPRODUCTCODE property for your condition on the custom action.
(If my reply answers a question you have raised, please click "ACCEPT AS SOLUTION".)
0 Kudos