I was having a discussion with my local LD engineer about large packages and using self extracting executables to package the apps. One think that might be compromised by method would be return codes. You would be getting the return code from the sfx, not the exe or script you want to run.
Those of you who regularly package apps like this, do you care about return codes? If not, how are you determining deployment success?