Practically, if you
read any data from any file, you need to load that data in the memory. So it is quite indifferent what storage is benieth.
If you want to know how it really works, read the code:
http://referencesource.microsoft.com/#System/services/monitoring/system/diagnosticts/FileVersionInfo.cs[
^].
In general, version informations are first from the embedded resources, which are stored at the end of the file. So, first you will need the headers of the file to be able to calculate the position of the resources. Than you can skip to that positions - if you can. As not all FTP servers implement this feature.
Anyway, you will need to download at least some portions of the file...