⤷ Recognize whether Word is installed

Use the FindFirst and FindNext functions for searching files in a directory.
Procedure TForm1.Find searches winword.exe file in a directory.

procedure TForm1.Find(Str: string);
var
  MySearch: TSearchRec;
  FindResult: Integer;
begin
  FindResult:=FindFirst(Str+'\winword.exe', 
                        faAnyFile+faHidden+faReadOnly, 
                        MySearch);
  if FindResult=0 then
  begin
    Label2.Caption:=Str+'\'+MySearch.Name;
    Test:=True;
  end
  else
  begin
    FindResult:=FindFirst(Str+'\*.*', 
                          faArchive+faHidden+
                          faAnyFile+faVolumeID+
                          faSysFile+faReadOnly+faDirectory, 
                          MySearch);
    while FindResult=0 do
    begin
      StatusBar1.SimpleText:=Str+'\'+MySearch.Name;
      if (MySearch.Attr=faDirectory) and 
         (MySearch.Name<>'.') and 
         (MySearch.Name<>'..') then
        Find(Str+'\'+MySearch.Name);
      FindResult:=FindNext(MySearch);
    end;
  end;
  FindClose(MySearch);
end;
More for developers