The Marketplace does some sanity testing on the zip file before working with it. You can see what the code does here: https://github.com/mozilla/zamboni/blob/master/apps/files/utils.py#L322-L331
If a file in the archive is either '..' or starts with a '/' it assumes it is invalid. Also, if a single file within the archive exceeds the limit set by the Marketplace (100MB) it also assumes it is invalid.
Do any of those qualify for your application?