Would descending order not be better than ascending order? Prefer oldest
version over newest version, where perhaps bugs are fixed?
I assume this function is used for more than finding "lib.exe". But
perhaps it shall be checked if lib.exe is existing before calling it,
to distinguish between "not available" and "error during execution".
Perhaps it would be even better to give the user a possibility to set
explicitely the path to Visual Studio,
and give an error message if not set or directory is not existing.
Assuming e.g. Visual Studio is not installed in (from Microsoft)
but somewhere else (e.g. a different drive).
There is "amd64" inside. So always assuming that build system is a 64
bit system compiling for a 64 bit system?
There are also x86_amd64 (and similar variants) or is lib.exe a 32 bit
binary and equivalent in all variants?