Inno Setup LoadStringFromFile falha quando o arquivo é aberto em outro processo

Para verificar quando um banco de dados (SQL Anywhere) está ativado e pronto para receber solicitações, estou exibindo a janela de mensagem do banco de dados em um arquivo de log (texto) e, em seguida, tentando ler isso usandoLoadStringFromFile, que eu procuro por texto específico usandoPos. O problema é que isso falha (presumo) porque o arquivo está em uso.

  Exec(strInstallPath + '\Bin32\dbeng17.exe', '-n ' + strEngineName + ' "' + strInstallPath + '\Database\Olympus.db" -n ' + strDatabaseName + ' -gdall -xtcpip -ti0 -c25p -ot "' + strTempPath + '\dbeng.log"', '', SW_HIDE,
    ewNoWait, intResultCode);
  if not LoadStringFromFile(strTempPath + '\dbeng.log', astrDatabaseEngineLog) then
    begin
      Log('Loading string from file failed.');
    end;

Eu também tentei copiar o arquivo de log usandoFileCopy e tente ler a partir da cópia do arquivo, masFileCopy também falha.

  if not FileCopy(strTempPath + '\dbeng.log', strTempPath + '\dbengcopy.log', False) then
    begin
      Log('File copy failed.');
    end;

Existe alguma maneira de ler de um arquivo que está em uso ou de outra maneira para fazer isso?

questionAnswers(2)

yourAnswerToTheQuestion