Never mind, let's use launch4j.

It turns out it can do everything we need.