Hola ethangio.
¿ Revisaste que la función
ExtractFilePath te esté devolviendo la cadena
C:\archivos de programa\aplicacion\ ?
Si los valores son iguales y realiza la acción de una forma, tiene que realizarlo de la otra.
Para ver si el resultado de la composición de las cadenas es igual podés hacer, por ejemplo:
Código Delphi
[-]
function ArmarCadena(const Cadena: string): string;
begin
Result:= '/c "' +
Cadena +
' Data\bin\mysqldump.exe" --opt --user=root --password=holaroot mibase > "' +
Cadena +
'Backups\back.sql" ';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
Memo1.Lines.Add(ArmarCadena(ExtractFilePath(Application.ExeName)));
Memo1.Lines.Add(ArmarCadena('C:\archivos de programa\aplicacion\'));
end;
Un saludo.