## Running as a Windows Service
When running as a Windows Service, the Application will be unable to show its Dialog. So this sample application is not very interesting. We can however do a few tests to verify that the Wrapper acts as a Windows Service correctly.
    Install-<Your App>.bat
You will see the output:
    wrapper  | <Your App> installed.
Once your application is installed as a service, we will want to start it.
    net start <Your App>
You will see the output:
    <Your App> service is starting.
    <Your App> service was started successfully.
The service can be uninstalled by executing the following command:
    Uninstall<Your App>-NT.bat
If the service is running, you will see the output:
    wrapper  | Service is running.  Stopping it...
    wrapper  | Waiting to stop...
    wrapper  | <Your App> stopped.
    wrapper  | <Your App> removed.
If you look at the contents of `logs/wrapper.log`, you will see output very similar to that of the console. Except this time, the start message informs you that the application is being started as a Service.
wrapper.log
    wrapper  | 2001/12/06 17:34:21 | --> Wrapper Started as Service
    wrapper  | 2001/12/06 17:34:21 | Launching a JVM...
    jvm 1    | 2001/12/06 17:34:22 | Initializing...
    jvm 1    | 2001/12/06 17:34:22 | Wrapper (Version 3.x.x)
    jvm 1    | 2001/12/06 17:34:22 |
    jvm 1    | 2001/12/06 17:34:22 | start()
Here are the results of several more actions that can take place on Windows Service:
### User Logging out and then back in
A log entry is made when the user logs out, but the service is unaffected.
wrapper.log
    wrapper  | 2001/12/06 17:39:39 | --> Wrapper Started as Service
    wrapper  | 2001/12/06 17:39:40 | Launching a JVM...
    jvm 1    | 2001/12/06 17:39:40 | Initializing...
    jvm 1    | 2001/12/06 17:39:40 | Wrapper (Version 3.x.x)
    jvm 1    | 2001/12/06 17:39:40 |
    jvm 1    | 2001/12/06 17:39:41 | start()
    wrapper  | 2001/12/06 17:40:07 | User logged out.  Ignored.
    jvm 1    | 2001/12/06 17:40:07 | controlEvent(202)
### Restarting the machine
This will result in a logout signal followed by a shutdown signal. The service will be shutdown gracefully and then come back after the machine restarts. A log entry is made when the user logs out, but the service is unaffected.
wrapper.log
    wrapper  | 2001/12/06 17:41:04 | --> Wrapper Started as Service
    wrapper  | 2001/12/06 17:41:05 | Launching a JVM...
    jvm 1    | 2001/12/06 17:41:05 | Initializing...
    jvm 1    | 2001/12/06 17:41:05 | Wrapper (Version 3.x.x)
    jvm 1    | 2001/12/06 17:41:05 |
    jvm 1    | 2001/12/06 17:41:05 | start()
    wrapper  | 2001/12/06 17:41:25 | User logged out.  Ignored.
    jvm 1    | 2001/12/06 17:41:26 | controlEvent(202)
    wrapper  | 2001/12/06 17:41:27 | Machine is shutting down.
    jvm 1    | 2001/12/06 17:41:27 | controlEvent(203)
    jvm 1    | 2001/12/06 17:41:28 | stop(0)
    wrapper  | 2001/12/06 17:41:29 | <-- Wrapper Stopped
    wrapper  | 2001/12/06 17:44:12 | --> Wrapper Started as Service
    wrapper  | 2001/12/06 17:44:12 | Launching a JVM...
    jvm 1    | 2001/12/06 17:44:17 | Initializing...
    jvm 1    | 2001/12/06 17:44:21 | Wrapper (Version 3.x.x)
    jvm 1    | 2001/12/06 17:44:21 |
    jvm 1    | 2001/12/06 17:44:23 | start()