This is exactly what ZIP2FIX can do, very simple and very fast.
ZIP2FIX is not using any ZIP or compliant component to do it, and actually it even doesn't extract the files from the bad archive, instead it creates a new fixed ZIP file.
So how does it works?
ZIP2FIX is reading the bad archive file as a stream and knows how to identify each chunk of the stream as a piece of a file inside the archive, all the chunks of a file are recreated as a stream and then it is checked for integrity if the file is intact then it is recreated on the drive as a new ZIP file, if a file was found corrupted then all his chunks are dismissed.
So the result is a new ZIP file containing only the good files and by that creating a ZIP archive that can be extracted.
Other than that the interface is very simple, when starting the utility it doesn't load anything or change any OS settings.
A click on "Open" launches the Windows Open File dialog, filtered with *.zip and *.exe (for ZIP self-extract files).
When the user selects a ZIP or SFX file, the file is processed immediately, and the status is displayed in the main form log.
The ZIP2FIX executable file is fully portable and can be copied to USB drive or a different computer and can run there without any installation.
ZIP2FIX is also compressed with UPX to achieve a small file size.