The KeyPath of a Component is used by the Windows Installer to detect whether the Component is installed on the machine. A KeyPath maybe a single file, registry value, ODBC data source (does anyone use these any more?) or folder.
When the KeyPath is missing, the Component knows it is not installed or damaged. If the KeyPath is already present, the Windows Installer determines if the existing file is newer (version information) or a user modified file (file modified timestamp later than create timestamp) and will not overwrite the file.
Versioned files are the preferred KeyPaths. The file's version provides additional information so the Windows Installer can tell if a newer Component is installed to the same location.
Unversioned files and registry values are the next best option.
Because the Windows Installer only checks the KeyPath to determine Component integrity, it is recommended that there the minimal number of resources per Component. The ideal is one file per Component but that must be balanced against the overhead each Component adds.