Thats because output data is used when the executable returns some sort of output stream.

You can listen on the exit event, which will fire as your process is complete (note: it'll only fire once all the files have extracted, you'd have to do them indvidually to capture each extraction within flash)

private function onExit( event:NativeProcessExitEvent ):void {

trace("Native Process Exit code: " + event.exitCode);

}

And you'll get one of these exit codes

Exit Codes from 7-Zip

7-Zip returns the following exit codes:

Code

Meaning

0

No error

1

Warning (Non fatal error(s)). For example, one or more files were locked by some other application, so they were not compressed.

By install do you mean read into flash? Or actually transfer to users machine?

You could write a shell script that will interact with 7za, extract the files one by one and output the progress.

I'm reading and wrting files into a zip, and storing a config file in there which keeps info about the zip contents. Then I know I can extract that conf and loop through all the files one by one reading them into flash.

I extract the files to the ApplicationStorageDirectory, so I have to save the files.

If you use 7zip, you don't have to have additional config file. 7zip can give you a list of the files inside the zip file without extracting them. It's very handy.

Your solution works, and that's one workaround. I thought that there is an event unkonwn by me and that way It's just one more line and I don't have to run my nativeProcess 200 times to extract 200 files.