Tomcat can run in embedded mode - so you can ship a double-clickable desktop app that starts a Tomcat running on localhost. Then there would be no servlet engine to install. (You would ship all web app files in a .war file.)
Does the DB have to be multi-user? If not, have you considered embedding Derby? Again, there would be nothing to install.