Hola...
Entonces el problema está en que a la función exec le estás enviando un nombre de archivo que nunca va a encontrar, ya que en este viene incluido un parámetro. Lo que tienes que hacer es separar el nombre del archivo del parámetro. Esto es:
Código Delphi
[-]
var
ExeFileName: string;
ParamStr: string;
SlashPos: Integer;
begin
SlashPos := Pos(FileName, '/');
if SlashPos > 0 then
begin
ExeFileName := Copy(FileName, 0, SlashPos - 1);
ParamStr := Copy(FileName, SlashPos, Length(FileName))
end
end;
También recuerda que no todos los instaladores son hechos con InnoSetup y no van a soportar los mismos parámetros.
Saludos...