Holy cow, I wrote a book!
In Windows 2000,
Explorer let you add properties like Summary and Author to nearly
any file type.
But when you view the files from a machine running
Windows XP or later,
those properties are lost.
Where did they go?
Most file types do not have extensibility points for adding metadata.
For example, every byte of a plain text files is devoted to
text data; there is nowhere to put metadata like Author or Summary.
In Windows 2000,
the shell chose to store this extra information
in NTFS alternate data streams
(or more accurately, the shell chose to use the
STGFMT_FILE storage format, which is
implemented in terms of NTFS alternate data streams.)
Storing the information in alternate data streams attaches the
data to the file without affecting the file contents.
This was a clever idea,
taking advantage of NTFS's ability to attach arbitrary data to a file,
but it also had a serious problem:
Alternate streams are not preserved by
simple and common operations like sending the file by email,
copying the file to a (FAT-formatted) USB thumb drive,
uploading or downloading the file from a Web site,
or burning the file to a CD.
once the file leaves the comfortable confines of your local hard drive,
there's a good chance that the metadata will be destroyed.
To avoid this problem, Windows XP switched to storing the
metadata in the file contents itself.
Doing this, however, requires support from the file format.
Each file type can have registered for it a property handler
which describes how to read and write properties for a file.
(Windows itself comes with a few such handlers,
such as for JPEG images and MP3 files,
with more recent versions of Windows supporting more properties.)
If no such property handler is registered,
the shell will use structured storage, provided the file format is
compatible with structured storage.
The data you added in Windows 2000 are still there.
It's just that newer versions of Windows don't bother looking for them.
(If you were sufficiently resourceful, you could write a program
which opens the file in STGFMT_FILE mode,
reads the properties, then
reopens the file via the shell namespace
writes the properties back out.)
For lots of
about the shell property system,
Ben Karas's blog, which I have been liberally linking to.