
Make some modification of ../conf/wrapper.conf, and then change to folder James's bin folder and run:
F:\james-2.2.0\ bin>wrapper -i ../conf/wrapper.conf
After install the services use Services Manager to start the James Services, or using "net start XXX" command to start it.
Sample of wrapper.conf:
#********************************************************************
# Wrapper parameters
#********************************************************************
# Java Application
wrapper.java.command=java
# Java Main class
wrapper.java.mainclass=org.apache.avalon.phoenix.launcher.DaemonLauncher
# Java Classpath (include wrapper.jar) Add class path elements as needed starting from 1
wrapper.java.classpath.1=phoenix-loader.jar
wrapper.java.classpath.2=wrapper.jar
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path=./
# Java Additional Parameters
wrapper.java.additional.1=-Djava.ext.dirs=../lib
wrapper.java.additional.2=-Dphoenix.home=..
wrapper.java.additional.3=-Djava.security.policy=jar:file:phoenix-loader.jar!/META-INF/java.policy
wrapper.java.additional.4=-Djava.security.manager
# Initial Java Heap Size (in MB)
wrapper.java.initmemory=16
# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=64
# Application parameters. Add parameters as needed starting from 1
#wrapper.app.parameter.1=--remote-manager
# Port which the native wrapper code will attempt to connect to
wrapper.port=15012
# Number of seconds to allow for the JVM to be launched and contact the wrapper before the
# wrapper should assume that the JVM is hung and terminate the JVM process. 0 means never
# time out. Defaults to 30 seconds.
wrapper.startup.timeout=30
# Number of seconds to allow between the wrapper pinging the JVM and the response. 0 means
# never time out. Defaults to 30 seconds.
wrapper.ping.timeout=30
# Number of seconds to allow for the JVM to shutdown before the wrapper should assume that
# the JVM is hung and terminate the JVM process. 0 means never time out. Defaults to 30
# seconds.
wrapper.shutdown.timeout=30
# The Wrapper detects when an application calls System.exit() and treats this as a request
# to stop the server by default.
#wrapper.disable_shutdown_hook=TRUE
# Tell the Wrapper to request a JVM thread dump if the JVM fails to exit when requested.
#wrapper.request_thread_dump_on_failed_jvm_exit=TRUE
#********************************************************************
# Wrapper Logging parameters
#********************************************************************
# Format of output for the console. (See docs for formats)
wrapper.console.format=PM
# Log Level for console output. (See docs for log levels)
wrapper.console.loglevel=INFO
# Log file to use for wrapper output logging.
wrapper.logfile=../logs/wrapper.log
# Format of output for the log file. (See docs for formats)
wrapper.logfile.format=LPTM
# Log Level for log file output. (See docs for log levels)
wrapper.logfile.loglevel=INFO
# Maximum size that the log file will be allowed to grow to before the log is rolled.
# Size is specified in bytes. The default value of 0, disables log rolling. May
# abreviate with the 'k' (kb) or 'm' (mb) suffix. For example: 10m = 10 megabytes.
wrapper.logfile.maxsize=5m
# Maximum number of rolled log files which will be allowed before old files are deleted.
# The default value of 0 implies no limit.
wrapper.logfile.maxfiles=0
# Log Level for sys/event log output. (See docs for log levels)
wrapper.syslog.loglevel=NONE
#********************************************************************
# Wrapper Unix daemon parameters
#********************************************************************
# File to write process ID to
wrapper.pidfile=Q:/james-2.2.0/phoenix.pid
# No sense for Win32
#********************************************************************
# Wrapper NT Service parameters
#********************************************************************
# WARNING - Do not modify any of these parameters when an application
# using this configuration file has been installed as a service.
# Please uninstall the service before modifying this section. The
# service can then be reinstalled.
# Name of the service
wrapper.ntservice.name=James 2.2.0
# Display name of the service
wrapper.ntservice.displayname=James Mail Server 2.2.0
# Description of the service
wrapper.ntservice.description=James Mail Server 2.2.0
# Service dependencies. Add dependencies as needed starting from 1
wrapper.ntservice.dependency.1=
# Mode in which the service is installed. AUTO_START or DEMAND_START
wrapper.ntservice.starttype=AUTO_START
# Priority at which the service is run. NORMAL, LOW, HIGH, or REALTIME
wrapper.ntservice.process_priority=NORMAL