Hola,
Creo que por lo que planteas en tu anterior comentario es aún más complicado de hacer lo que requerías en la pregunta que inició este hilo, puesto que, la aplicación con la que te quieres comunicar no está preparada para tal fin (es posible que me equivoque) y así no tienes control sobre lo que esta haga o deje de hacer y no podrás comunicarte con ella: lo más que podrás saber es cómo terminó, si lo hizo exitosamente o no (insisto, quizás me equivoque).
O sea, a mí se me ocurre algo que es una chapuza de mucho cuidado: ir comprobando en el directorio en donde se supone que se van a extraer los archivos el número, nombre, tamaño, etc., de estos, para ir mostrando el "progreso" de la extracción de los mismos.
Sin embargo, lo que acabo de plantear es solamente una chapuza que no se me ocurriría implementar y por tanto tampoco recomendar ni a ti ni a nadie.
Puesto que lo que quieres conseguir es instalar un programa, al fin y al cabo, ¿porqué no utilizar un programa "instalador" de los muchos que hay? Además no poco potentes, en el sentido de que podrás incorporar "opciones avanzadas", lógicamente, estudiando a los entresijos del programa instalador que al cabo te decidas a usar.
Se me ocurre, por afinidad con Delphi el programa
InnoSetup, que te permitirá utilizar "código Delphi" para personalizar tus instalaciones, entre otras muchas características. Otra opción podría ser
Nullsoft Scriptable Install System, también muy potente, utilizado y recomendable. Ambos son "de código abierto" y gratuitos.