BASTA COMPUTING SOFTWARE PRODUCT INFORMATION


TITLE

AppToService v2.7 (formerly ServiceIt)
Copyright (C) 1996-2003 Basta Computing, Inc.
All rights reserved.

License Types Available:
- Shareware with a 30 day evaluation period.
- OEM company license to bundle AppToService with other products.

Distribution: Limited. See the license agreement for details.


DESCRIPTION

AppToService is a Windows NT/2000/XP Unicode console application 
that lets you run regular applications and servers as Windows 
services. This allows you to have some of the benefits of a Windows 
service, such as the ability to run an application even when no user 
is logged on the computer, the ability to run an application under 
a specified user account, the ability to allow an application to 
survive logoff/logon sequences, hence saving the overhead of 
re-starting it for each new user, and so on. For instance, you can 
run a dialer application as a service to automatically connect a 
computer to the Internet following unattended reboots.


HOW DOES IT WORK?

For each application that you need to run as a service, simply 
execute AppToService with the appropriate parameters to create 
a service encapsulating the application. You can manage services 
created with AppToService using any Windows service manager such 
as the Services applet or the Net console application from the 
Command Prompt. When the service is no longer needed, remove it 
by executing AppToService with the appropriate parameters.

When an AppToService service starts, it opens the client application 
associated with it. When the service stops, it closes the client 
application. If the client application closes while the service is 
running, the service automatically stops.

Please refer to the EXAMPLES section for step-by-step instructions 
on using AppToService.


COMMANDS

To enter an AppToService command, open a Windows Command Prompt 
window, go to the AppToService folder, then enter AppToService 
followed with one of the following options.

General Options
---------------
? - Display the help screen.

/Install - Install a service. This is the main option to create 
 a service wrapper around your application.
 Example: AppToService /Install C:/Windows/Notepad.exe

/Remove - Remove a service installed using the /Install option.
 Example: AppToService /Remove Notepad

/RemoveAll - Remove all AppToService services.

/ShowAll - Display all AppToService services with their status.

/StartAll - Start all AppToService services.

/StopAll - Stop all AppToService services.

/Key:xxx - Unlock AppToService using your password xxx.

Install Options
---------------
The following options can be included with the /Install option.

Notes:
- "*" indicates a default setting.
- A service has two names: the service name and the display name.
  The service name or key name is hidden from the user interface 
  and is used to refer to the service internally such as in the 
  Windows registry. The display name is used in the user interface 
  such as the Windows Services applet or the NET command. 
  AppToService accepts either names with options specifying service 
  names.

/AbsName:"x" - The display name of the installed service will be x 
 without the standard "AppToService" prefix.
 Example: AppToService /Install /AbsName:"MyService" C:/MyApp.exe 
 will yield a "MyService" service display name.

/Account:"<dom|.>\x" - Specify the name of the account under 
 which the service should run. Use an account name in the form 
 DomainName\UserName. The service process will be logged on as 
 this user. If the account belongs to the built-in domain, you 
 can specify .\UserName. If this parameter is not specified, the 
 LocalSystem account will be used. If the /Interact:1 option is 
 specified, then the service must run in the LocalSystem account.
 Example: AppToService /Install /Interact:0 
                       /Account:".\MyAccount" /Password:"MyPassword" 
                       C:/MyApp.exe

/Arguments:"x" - Command line parameters for the client application. 
 Example: AppToService /Install /Arguments:"Arg1 Arg2" C:/MyApp.exe 

/ArgFile:"x" - Same as /Arguments but the data is in the text file x.
 Example: AppToService /Install /ArgFile:"C:/MyAppArgs.txt" C:/MyApp.exe 
 Where C:/MyAppArgs.txt is a simple text file containing the command 
 line parameters to the client application.

/Closing:x - Specifies how the client is handled when the service 
 stops. The available options are:
 /Closing:0  - Ignore the client and leave it running.
 /Closing:1  - Try to close the client normally.
 /Closing:2* - Try to close the client normally then force it to 
 close otherwise. See the /Timeout option for more information.

/DependOn:"x" - Specifies other services that this service depends on.
 That is, Windows will start service "x" if needed before starting this 
 service. You can specify several services by separating them with a 
 slash character (/).
 Example: AppToService /Install /DependOn:"Srvc1/Srvc2" C:/MyApp.exe

/Directory:"x" - AppToService will use "x" as the current directory 
 for the client application.
 Example: AppToService /Install /Directory:"C:/MyDataFolder/" C:/MyApp.exe

/Interact:x - Interact* (1) or not (0) with the desktop. Specifying 
 0 prevents the client application from displaying itself on the 
 desktop. However, 0 generally allows applications to survive log offs.
 Example: AppToService /Install /Interact:0 C:/MyApp.exe

/Name:"x" - The display name of the installed service will be 
 "AppToService" followed with "x" instead of the client file name*.
 Example: AppToService /Install /Name:"MyService" C:/MyApp.exe
 will yield a "AppToService MyService" service display name.
 
/Password:"x" - Specify the password to the account name specified 
 by the /Account option. You don't need this option if the account 
 has no password or if the service runs in the LocalSystem account.
 Note that the given password is stored in the registry unencrypted.
 Example: AppToService /Install /Interact:0 
                       /Account:".\MyAccount" /Password:"MyPassword" 
                       C:/MyApp.exe

/Preview - Verify /Install options. When this option is used, the 
 service is not installed and a message box containing the client 
 application startup options is displayed instead. The option is 
 intended to help you make sure that your /Install options are 
 correct.
 Example: AppToService /Install /Preview C:/MyApp.exe

/Priority:x - Run the client application with the specified x priority.
 Use I for idle, N for normal* and H for high priority.
 Example: AppToService /Install /Priority:I C:/MyApp.exe

/Show:x - Specify the style of the client window on startup according 
 to one of the following x values:
   1: The window is opened normally and activated*.
   2: The window is minimized and activated.
   3: The window is maximized and activated.
   4: The window is opened normally and not activated.
   7: The window is minimized and not activated.
 Example: AppToService /Install /Interact:1 /Show:7 C:/MyApp.exe

/Startup:x - Specify the service's startup option. If x is A, the 
 service is started automatically when Windows starts, before user 
 login. If x is M, the service needs to be started manually*. 
 If x is D, the service is disabled and can't be started.
 Example: AppToService /Startup:A C:/MyApp.exe

/Timeout:x - Specify the client application timeout period in msecs.
 The default value is 5000* (5 seconds).
 - When used with /Closing:1 - AppToService exits after x msecs 
   or when the client application closes, whichever one comes first.
 - When used with /Closing:2 - AppToService waits x msecs before 
   forcing the client application to close because it didn't close 
   gracefully.
 Example: AppToService /Timeout:10000 C:/MyApp.exe


EXAMPLES

(1) You want to run a server application, namely MyApp, as a 
service in order to start it automatically during unattended 
reboots, and have it start processing client requests without 
the need to logon, assuming that the computer is permanently 
connected to the Internet.

(2) You want to run a dialer application, namely MyApp, as a 
service in order to start it automatically during unattended 
reboots, and have it connect your computer to the Internet 
without the need to logon.

The following instructions apply to both examples (1) and (2).

Another benefit from starting the service in the absence of 
a user session (before user logon) is security, since the 
computer will be performing its duties without allowing users 
to play with it.

- Use AppToService to install a service that starts automatically 
  with Windows and runs MyApp. Assuming that the path of MyApp is 
  C:/MyApp.exe, enter the following command at the command prompt: 

    AppToService /Install /Startup:A "C:/MyApp.exe"

    NOTE: Several installation options are available to customize 
    services. Enter "AppToService /?" from the command prompt for 
    a complete list of options. The options are also described in 
    the COMMANDS section above.

- Open the Windows Control Panel Services applet. You will find the 
  following new service in the list of installed services:

    AppToService MyApp

  You can manage the service from the Control Panel Services applet.
  Select the service by clicking it to test it, or to review and edit 
  its startup options.

  To review or edit the startup options of the service:

    - Press the "Startup" button.
    - The "Automatic" box in the "Startup Type" group should be checked.
    - The "Log On As" group should be properly configured to run the 
      service. Most services log on to a system account.

  To test the service:

    - Press the Start button. This should open MyApp.
    - Press the Stop button. This should close MyApp.

    NOTE: You can also start and stop services from the command 
    prompt by using the Net command as following:

      Net Start "AppToService MyApp"
      Net Stop "AppToService MyApp"

    For more information about the Net command, enter "Net help" 
    at the command prompt.

  This is it. The service just created should make MyApp behave like 
  a Windows service.

    NOTE: If you had previously configured MyApp to start 
    automatically when a user logs on, you will probably want to 
    cancel this option in order to avoid having two instances of 
    MyApp running at the same time, in case MyApp doesn't prevent 
    this usually undesirable situation from occurring. If MyApp 
    doesn't include a configuration screen to cancel this option, 
    look for shortcuts to MyApp in the Startup folders and delete 
    them if found. Automatic services start when Windows start. 
    Shortcuts in the Startup folder are opened when a user logs on.

- When you no longer need to use MyApp as a service, you can remove 
  the related service using the following command prompt:

    AppToService /Remove "MyApp"


TIPS:

- For general help, enter: AppToService /?

- If you close an application started by AppToService, the service 
  will stop automatically.

- If the /Arguments data includes double quotes, precede each one of them 
  with 3 slashes. E.g., /Arguments:"unquoted \\\"quoted\\\" unquoted".

- If you are using /Directory and want to terminate the path with a 
  slash, use a forward slash (/) instead of a backslash (\). The \" 
  character combination has a special meaning in Windows. To avoid this 
  and other potential parsing problems, we recommend using the forward 
  slash (/) exclusively to separate components in a path.

- If you want to create a service that depends on other services, 
  specify them using the /DependOn option and separate them with forward 
  slashes (/). For example, /DependOn:"Svc1" or /DependOn:"Svc1/Svc2".

- An application will generally survive logoff if you do not allow the 
  associated service to interact with the desktop. However, this will 
  prevent the application window from being displayed. The ability of 
  an application to survive logoff depends ultimately on its design.


REVISION HISTORY

- v2.7  on 2003-04-28: Added the /Account and /Password options to 
  specify the account under which a service should run. Added more 
  /Show options to specify the client window startup state.
- v2.6  on 2002-09-18: Added /StopAll and /StartAll to easily manage 
  AppToService services, and /Closing and /Timeout to control the 
  termination of client applications. Enhanced /DependOn to accept 
  multiple services and to accept services using their display name.
  Added /Preview to see the client's execution instructions.
- v2.4a on 2001-09-19: Fixed a v2.4 bug that prevented the /Arguments 
  flag from working properly.
- v2.4  on 2001-08-30: Added support for batch files. Added /ShowAll 
  and /RemoveAll flags to display or remove all the installed services.
- v2.3  on 2000-07-16: Added the /Interact flag to specify whether 
  the client application should interact with the desktop. Added the 
  /AbsName flag to eliminate the "AppToService" prefix in the service 
  display name. Extended the command line capacity.
- v2.2a on 2000-04-16: Accepted lengthier command line arguments.
- v2.2  on 1999-09-14: Added the /Name flag to allow the creation of 
  multiple services hosting the same client application with different 
  arguments, and improved the ability to close client applications when 
  services are stopped.
- v2.1  on 1999-04-29: Added the /Directory flag to specify the working 
  directory.
- v2.0  on 1998-12-01: Changed naming conventions and added /DependOn.
  WARNING: This release is not backward compatible.
- v2.0 Beta on 1998-11-15: Changed the application name from 
  ServiceIt to AppToService, and added support for command line 
  arguments, execution priority, window state, and startup type.
  WARNING: This release is not backward compatible.
- v1.0  on 1998-05-10: Initial release.
- v1.0  Beta on 1998-05-01: Beta release.


SYSTEM REQUIREMENTS

- For Windows NT, 2000, XP, or later.
- About 1 MB of free disk space to install the software.


PACKAGE CONTENTS

- SetupAppToService.exe: Program executable.
- ReadMe.txt: This file.
- File_ID.diz: Product identification summary.
- LicenseAgreement.txt: End User License Agreement.
- OrderInfo.txt: Ordering information.
- OrderForm.txt: Order form.


INSTALLATION

Run the SetupAppToService.exe file and follow the instructions 
on the screen.


UPGRADES

Close the application if it is currently running, then install the 
new version in the same folder where you had installed the old one.


UNINSTALLATION

- Close the application if it is currently opened.
- Open the "Add or Remove Programs" item in the Windows 
  Control Panel.
- Click this product in the list of currently installed programs.
- Click the Remove button and follow the instructions on the screen.

Note that configuration and ordering files, generally with a 
".dat", ".ini", ".txt", or ".bak" extension, may be created in the 
application folder, and will not be deleted for your convenience 
in case you wish to refer to them at a later date. Delete these 
files manually if you do not want them.


HOW TO BUY LICENSES

This product is distributed as shareware. This means that you 
are welcome to evaluate it for thirty (30) days to make sure 
that it meets your needs. You must purchase the appropriate 
number of licenses to continue using it after the evaluation 
period. Otherwise, you must stop using it. Please review the 
End User License Agreement included with the product for the 
complete set of policies governing its legal use. The software 
will remind you about licensing once each day during the 
evaluation period, and each time you run it thereafter. You 
can access purchasing information by pressing the "Yes" button 
in the Welcome message box that is displayed when you run the 
software, by pressing the "Purchasing Information" button in 
the About window, or by visiting our web site at 
http://www.basta.com


CONTACT

Internet web site: http://www.basta.com

E-mail (let us know if you are a licensed user):

    Sales: sales@basta.com
    Support: support@basta.com
    Suggestions: suggestions@basta.com
    Consulting: consulting@basta.com
    General information: info@basta.com

Fax: +1 (425) 889 8745

Postal Mail:

    Basta Computing
    P.O. Box 485
    Kirkland, WA 98083-0485
    USA


FURTHER INFORMATION

For the latest news about our products and services, 
please visit our web site at http://www.basta.com
