Inno Setup: compruebe si el archivo existe en el destino o si no cancela la instalación

Necesito que mi instalador compruebe si existe un archivo en la ubicación de destino y, si no está allí, la instalación se cancela. Mi proyecto es un parche de actualización, así que quiero que el instalador evite instalar los archivos de actualización si el archivo principal de la aplicación no está en el destino. ¿Cómo puedo hacer esto?

¿Puede alguien dar un ejemplo de código para verificar la versión del archivo a través del registro de 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;

Respuestas a la pregunta(2)

Su respuesta a la pregunta