Timestamps are not recorded in the MSI File table and the timestamps in the
CAB are only used to write the created/modified timestamp when a file is
The only things that are used to decide whether a file is replaced are the
file version of the installed file, the Version column of the File table,
whether the modified timestamp on disk is different from the created
timestamp, and whether a hash of the file matches the MsiFileHash table
If the file on disk has a version number and the File table's Version field
has data, the versions are compared. If the Version field's value is higher,
the file on disk is replaced. That's it.
If the file on disk does not have a version number and the File table does,
the file is replaced.
If the file on disk has been modified (the modified timestamp is different
from the created timestamp) it is never replaced.
Otherwise the file is always (conceptually) replaced. To reduce the number
of file copying operations and potentially the number of CABs that have to
be retrieved, if the MsiFileHash table has a row for this file, the file is
hashed; if the hash matches the file is not replaced.
[mailto:wix-users-bounces@...] On Behalf Of Michael
Sent: 08 April 2008 19:01
To: Bob Arnson
Subject: Re: [WiX-users] Update Problems with versioned files (oxc)
Bob Arnson schrieb:
> Michael Musenbrock wrote:
>> Even if the file has changed in the update, but the internal
>> version number of this file hasn't been updated, it is ignored,
> That's by design. If a file has versioninfo, MSI trusts it. See
Ok, thanks, but one thing is not covered, how the installer decides, if
the version number of the file is equal, but the timestamps
differ, in my case, newer file has a more actual timestamp.
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Register now and save $200. Hurry, offer ends at 11:59 p.m.,
Monday, April 7! Use priority code J8TLD2.
WiX-users mailing list