IS5 has no real support for NT services, you basically have to write
everything yourself.  There is an IS3 white paper which illustrates the
technique but leaves out a lot of the details.  In particular the white
paper doesn't cover what to do if the service already exists, which is
quite likely during a re-install, or how to have the service uninstall
automatically.

The best way to approach this is to write a custom DLL with entry points
for installation and uninstallation, put it in a file group with the
rest of the application, call it from the script after the files have
been copied and set up the uninstallation key so that the uninstaller
will call it to remove he service at uninstallation.  The online help
details how to set up uninstallation keys.

I have attached source code from my setup project for a DLL and the
script which calls it.  I use MS Visual C++ V4.2 or 5.0 to build the
DLL.  You are welcome to use this as a starting point, though I provide
no warranty as to its suitability for your purpose.  There's some stuff
in the DLL, such as setting the service security descriptor, which my
application needs but which you probably won't want to do.

You'll also need a dialog to ask the user for the account/password etc.
You can use SdShowDlgEdit2 for this, or if your feeling adventurous you
could write a custom dialog...

Best of Luck!

Phil Simpson
Candle Corp.
