title: GetFileVersionInfoSize And GetFileVersionInfo return nothing
body: <p>GetFileVersionInfoSize is 0 (zero) 
  And GetFileVersionInfo return nothing</p>
  
  <p>I am using it Like this:</p>
  
  <pre><code>function FileVersion(const FileName: TFileName): String;
  var
    VerInfoSize: Cardinal;
    VerValueSize: Cardinal;
    Dummy: Cardinal;
    PVerInfo: Pointer;
    PVerValue: PVSFixedFileInfo;
  begin
    Result := '';
    VerInfoSize := GetFileVersionInfoSize(PChar(FileName), Dummy);
    GetMem(PVerInfo, VerInfoSize);
    try
      if GetFileVersionInfo(PChar(FileName), 0, VerInfoSize, PVerInfo) then
        if VerQueryValue(PVerInfo, '\', Pointer(PVerValue), VerValueSize) then
          with PVerValue^ do
            Result := Format('v%d.%d.%d build %d', [
              HiWord(dwFileVersionMS), //Major
              LoWord(dwFileVersionMS), //Minor
              HiWord(dwFileVersionLS), //Release
              LoWord(dwFileVersionLS)]); //Build
    finally
      FreeMem(PVerInfo, VerInfoSize);
    end;
  end;
  </code></pre>
  
  <p>Based on the stack reply <a href="https://stackoverflow.com/a/15697092/48705">Get FileVersion with Build</a></p>
  
  <p>It work in most of the cases.</p>
  
  <p>Thanks</p>