hola cHackAll

, en este caso estoy desarrollando un instalador, asi mismo desarrolle tambien los archivos.exe q mando ejecutar; este es parte del codigo q utilice e implemente de acuerdo al codigo q encontre en la liga antes mencionada(sigo en el entendido q este me ayuda a mandar ejecutar un .exe y cuando termine de ejecutarse pueda continuar con el instalador

algo asi como poder tener el control de ese proceso):
Código Delphi
[-]
if creabd.Checked=true then
begin
FillChar(proc_info, sizeof(TProcessInformation), 0);
FillChar(startinfo, sizeof(TStartupInfo), 0);
startinfo.cb := sizeof(TStartupInfo);
if CreateProcess(nil, PChar(FInstalacion.dircd.Text+'\mysql_odbc\CreaBase.exe '+base+' root sqlpr65'), nil, nil, false, CREATE_DEFAULT_ERROR_MODE + NORMAL_PRIORITY_CLASS, nil, nil, startinfo, proc_info) then
Timer1.Enabled := True
else
begin
CloseHandle(proc_info.hProcess);
Application.MessageBox('No se pudo ejecutar la aplicación', 'Error', MB_ICONEXCLAMATION);
end;
end;
FileAttrs := FileAttrs + faArchive; if not FindFirst(FInstalacion.dircd.Text+'\instalar\CreaSistema.exe', FileAttrs, sr) = 0 then
begin
Application.MessageBox('No se encontro la aplicación','Error', MB_ICONEXCLAMATION);
FindClose(sr);
end
else
begin
FillChar(proc_info, sizeof(TProcessInformation), 0);
FillChar(startinfo, sizeof(TStartupInfo), 0);
startinfo.cb := sizeof(TStartupInfo);
if CreateProcess(nil, PChar(FInstalacion.dircd.Text+'\instalar\CreaSistema.exe'), nil, nil, false, CREATE_DEFAULT_ERROR_MODE + NORMAL_PRIORITY_CLASS, nil, nil, startinfo, proc_info) then
Timer1.Enabled := True
else
begin
CloseHandle(proc_info.hProcess);
Application.MessageBox('No se pudo ejecutar la aplicación', 'Error', MB_ICONEXCLAMATION);
end;