[Back to WIN-OS2 SWAG index]  [Back to Main SWAG index]  [Original]

{
From: ZWEITZE@et.tudelft.nl (Zweitze de Vries)

>Does anyone have examples of installation programs that use
>the file installation library (VER.DLL) in BP7?

Since all installation programs do the same thing, why reinvent
the wheel? Just buy one, it should be cheaper than developing
your own. There are also some share/freeware apps around (try CICA).

In respect to your question, I have some code that fills a dialog
box ('About...') according to the version information resource:
}

procedure THelpAbout.SetUpWindow;
var
  lVerInfoSize: LongInt;
  lVerHandle: LongInt;
  szModuleName: array [0..fsPathName] of Char;
  pVerData: PChar;
  Buffer: Pointer;
  lenBuffer: Word;
begin
  TDialog.SetupWindow;
  GetModuleFileName(hInstance, szModuleName, SizeOf(szModuleName));
  lVerInfoSize := GetFileVersionInfoSize(szModuleName, lVerHandle);
  if lVerInfoSize = 0 then Exit;
  GetMem(pVerData, lVerInfoSize);
  if not GetFileVersionInfo(szModuleName, lVerHandle, lVerInfoSize, pVerData)
    then Exit;
  if VerQueryValue(pVerData, '\StringFileInfo\CATE\ProductName',
                   Buffer, LenBuffer)
     and (LenBuffer <> 0)
    then SetDlgItemText(hWindow, stat_AppName, Buffer);
  if VerQueryValue(pVerData, '\StringFileInfo\CATE\ProductVersion',
                   Buffer, LenBuffer)
     and (LenBuffer <> 0)
    then SetDlgItemText(hWindow, stat_AppVersion, Buffer);
  if VerQueryValue(pVerData, '\StringFileInfo\CATE\CompanyName',
                   Buffer, LenBuffer)
     and (LenBuffer <> 0)
    then SetDlgItemText(hWindow, stat_AppCompany, Buffer);
  if VerQueryValue(pVerData, '\StringFileInfo\CATE\LegalCopyright',
                   Buffer, LenBuffer)
     and (LenBuffer <> 0)
    then SetDlgItemText(hWindow, stat_AppCopyright, Buffer);
  FreeMem(pVerData, lVerInfoSize);
end;

[Back to WIN-OS2 SWAG index]  [Back to Main SWAG index]  [Original]