First thing to do is write down detailed notes on how to do this manually for every platform you are planning to support.
The next thing to do is to look for a tool that will aide you in this and that supports all of the platforms you need. I have used InstallShield (there is a version for platform-independent installs) but there are other tools for doing this. I have even used an Ant script to do this (though it was not a 1-click install).
Most such tools provide built-in support for typical installation tasks (copying files, setting up a service), and provide hooks or some other means to add custom scripts to do things such as set up the *-ds.xml fille. So then you have to take your installation notes and figure out how to best use the tool to accomplish those tasks.