Here’s a summary of how Installed date is set.
- If there is a valid InstallDate in the registry that is not 0 or 1980---, we set the Installed-date to this registry value
- If there is no valid registry key, we use ModifiedDate (using the Windows API “GetFileAttributesEx()”) for the Installed-date, if that is a valid value
- Last fallback is to use CreationDate (using the Windows API “GetFileAttributesEx()”) for the Installed-date
When an application is packaged as an MSI, the installed date is a variable populated as the package is installed. It is important that these packages write the current date if at all possible – something to ask the packaging team to confirm. If the package does not install via MSI, the fall back is the executable date described above, which may not be correct.
The dates if the installer sets it are found at the registry key (see screenshot)
and finally if you are wondering where the Installed on date comes from in Programs and features - see the following