I have a Java .jar application that I want to distribute to my clients who are on Macs or Windows. I want to use a tool that takes my jar file and wraps it in a .dmg and a .exe wrapper for Macs and Windows respectively that does this when run:
Optional features:
Check out Package Maker for Mac and Advanced Installer for Windows.
I've used them both for just about every requirement you've listed.
I haven't used them for auto-updates, but you probably have to build that logic into your app.
Don't expect them to do ALL of the work for you, though.
Expect to spend quite a bit of time building an installer for each platform.
I'm sure there are lots of options for Windows and Linux. Advanced Installer just happens to be the only one I've used.
I believe Package Maker is the standard for Mac. It's pretty awesome and easy to use.
Good luck!