We use the Java Service Launcher (http://jslwin.sourceforge.net/), and it works perfectly. Here's our jsl.ini file, with a lot of comments stripped out. Note that while we use the JAR file, we don't start it with "java -jar", because we're using log4j for RC logging.
[service]
appname = SeleniumRemoteControl
servicename = SeleniumRC
displayname = SeleniumRC
;account under which service runs
account=.\builder
password=...thepassword...
;Call <stopclass>.<stopmethod> through JNI so stop the JVM.
stopclass=java/lang/System
stopmethod=exit
stopsignature=(I)V
[java]
params = 4
param00 = -Dlog4j.configuration=file:///C:/selenium/selenium-server-1.0.1/jsl.log4j.properties
param01 = -cp
param02 = C:\selenium\selenium-server-1.0.1\log4j-1.2.16.jar;C:\selenium\selenium-server-1.0.1\selenium-server.jar;C:\selenium\selenium-server-1.0.1
param03 = org.openqa.selenium.server.SeleniumServer
Ross