I want to overwrite a file reliably upon installation (first-time, upgrades, ...).
(It is a program file, which does not contain any user-relevant data but it is modified, after is has been used - and no it's not a virus but an MS-Access file. Therefore to deploy the most recent code it's crucial to overwrite this file always)
There are various techniques to accomplish this:
* Delete the file before installation (RemoveFile, CustomAction, ...)
* Use a file version and increase it for new versions.
* Use a file version of 65535.0.0.0 (InstallShield 12)
(and a few more)
Now I don't understand why the latter should work (but I have verified this!) - the MS pages clearly state that when the file version is equal (here it is always 65535.0.0.0) then the file will not be overwritten!
http://msdn.microsof.....28VS.85).aspx
When the MS specs use the term "file version" what do they refer to? The version as authored into the msi-package or as found by analyzing the file (MS-Access files do not have a file version accessible via right-click properties)? And is this different for files still on the source medium or already installed?
I use the InstallShield method (because I use this software), but wouldn't be the most straightforward and easiest method be to simply delete the file before installation? What do you recommend?
Best regards,
Pizzero
Edited by Pizzero, 26 August 2009 - 14:38.