Inno Setup - Verifique se o arquivo existe no destino ou se não aborta a instalação

Eu preciso do meu instalador para verificar se existe um arquivo no local de destino e, se não estiver lá, a instalação é interrompida. Meu projeto é um patch de atualização, então eu quero que o instalador evite instalar os arquivos de atualização se o exe principal do aplicativo não estiver no destino. Como posso fazer isso?

Alguém pode dar um exemplo de código para verificar a versão do arquivo através do registro do Windows?

[Files]
Source C:\filename.exe; DestDir {app}; Flags: ignoreversion; BeforeInstall: CheckForFile;

[code]

procedure CheckForFile(): Boolean;
begin
  if (FileExists('c:\somefile.exe')) then
  begin
    MsgBox('File exists, install continues', mbInformation, MB_OK);
    Result := True;
  end
  else
  begin
    MsgBox('File does not exist, install stops', mbCriticalError, MB_OK);
    Result := False;
  end;
end;

questionAnswers(2)

yourAnswerToTheQuestion