NT sets the error code to ERROR_RESOURCE_DATA_NOT_FOUND if the file exists but does not contain version information.
diff --git a/dlls/version/info.c b/dlls/version/info.c index 662a22e..2b4fbfd 100644 --- a/dlls/version/info.c +++ b/dlls/version/info.c
@@ -440,11 +440,19 @@ len = VERSION_GetFileVersionInfo_PE(filename, handle, 0, NULL); /* 0xFFFFFFFF means: file exists, but VERSION_INFO not found */ - if(len == 0xFFFFFFFF) return 0; + if(len == 0xFFFFFFFF) + { + SetLastError(ERROR_RESOURCE_DATA_NOT_FOUND); + return 0; + } if(len) return len; len = VERSION_GetFileVersionInfo_16(filename, handle, 0, NULL); /* 0xFFFFFFFF means: file exists, but VERSION_INFO not found */ - if(len == 0xFFFFFFFF) return 0; + if(len == 0xFFFFFFFF) + { + SetLastError(ERROR_RESOURCE_DATA_NOT_FOUND); + return 0; + } if(len) return len; len = GetFileResourceSize16( filename,