This sounds like a perfect job for JEmplode. JEmplode takes a tar ball checks it for validity (simple stupidity check to ensure that it is an empeg app tar ball, perhaps looking for a zero-length file .empegapp), and puts it on the empeg.
You skipped a few steps...
1. Prompt the user for an install location.
2. Optionally, depending on how the developer has configured the install to run, or based on user's choice, add a shell script to wfaulk's preinit thing so that it gets run on startup.
3 Provide a UI for setting configuration defaults and writing them to either the app's own config file (we'd need a standard, the INI standard is fine by me) or editing the config.ini itself. For my alarm clock, the "InstallShield" would ask the user "would you like EmpWake to automatically enable the alarm on startup?" and this would correspond to "active=true" being added to the config.ini.
But yeah JEmplode would be a nice place for this. Mike's pretty busy these days though. I'm a Java programmer but mostly with servlets and such, I've never done any Java application programming to speak of.