# HP TP Desktop Connector V5.0

# Release Notes - January 2006

© Copyright 2006 Hewlett-Packard Development Company, L.P.

This document provides the release notes for the HP TP Desktop Connector Version 5.0 product. These release notes describe known problems with this product, and include hints and suggestions to help you use this product.

# Contents

Preface

Kit Updates

Associated Documentation

Installation Notes

Problems Fixed

Problems Fixed in Version 5.0

Problems Fixed in Version 4.5A

Problems Fixed in Previous Kits and ECO Releases

Known Problems

Restrictions

General Information

> General Notes

> Programming C Clients

> Programming Automation Clients

> Programming Java Clients

> Controlling Client Connections

> Using the ACMS Gateway Adapter

> Using the HP TP Desktop Connector Gateway for ACMS

> Using_the_TPware_Management_Utility

> Using the Client Build Utility

> Samples

> HP TP Desktop Connector Client Services Notes

Troubleshooting Tips

Registering and Unregistering Automation DLLs

Interpreting Runtime ErrorCodes

Location of Runtime Error Code Information

Interpreting Automation Errors

#

# Preface

## Kit Updates

For notifications on future updates or changes to the HP TP Desktop Connector product kits, refer to the following website: http://h71000.www7.hp.com/commercial/tpdesktop.

## Associated Documentation

In addition to these release notes, also refer to the following

Online Installation Guides:

- HP TP Desktop Connector for ACMS Installation Guide

Online Guides and Reference Manuals:

- HP TP Desktop Connector Getting Started
- HP TP Desktop Connector for ACMS Gateway Management Guide
- HP TP Desktop Connector for ACMS Client Programming Guide
- HP TP Desktop Connector for ACMS Client Services Reference Manual

Online help:

- TPware Management Utility online help
- TPware STDL online help
- TPware Client Build Utility online help

# Installation Notes

The following sections describe installation notes. If the release note reflects a problem logged in the Problem Tracking and Reporting System (PTR), then the PTR number is listed in the description.

- When installing this TPware kit the install procedure will detect the presence of a previously installed TPware kit and install the kit in the same directory.

- If you are upgrading from a previously installed TPware kit, all information stored by the TPware management GUI will be retained.

- You must shutdown all TPware processes and applications that use TPware prior to the installation of this kit.

- When upgrading from a previously installed TPware kit, you will not be asked for product license keys for products that are already installed.

- With this release the TPware management information will be migrated from HKEY_LOCAL_MACHINE\SOFTWARE\HP\TPware to HKEY_LOCAL_MACHINE\SOFTWARE\Hewlett-Packard\TPware. Once the migration is complete the TPware key under HKEY_LOCAL_MACHINE\SOFTWARE\HP will be removed.

- If TPware files are lost or damaged once the kit has been installed, reinstall the latest TPware kit in order to restore the files.

- When installing both the HP TP Desktop Connector Version 5.0 and TP Web Connector on the same system, caution must be used. Both products allow connectivity to HP ACMS. With both products installed, HP TP Desktop Connector applications that use HP ACMS Gateway Connector interface will not work. However, HP TP Desktop Connector applications using the Client Services Interface (formerly known as ACMS Desktop Portable API) will not be affected.

- On rare occasions, a TPware uninstall does not delete the TPware program folder and/or associated files.
  Workaround:
  Delete the TPware program folder and/or product(s) files using the Windows Explorer.

- 'Error 115' during the installation of TP Desktop Connector indicates that a file is locked and will cause the installation to fail. (PTR 64-4-95).
  Workaround:
  Prior to installing any TPware products or ECO's all TPware applications and TPware product processes must be shutdown. If this error continues, then reboot the system and repeat the installation.

- The regsvr32.exe image which is referenced in the product documentation is not supplied with the TPware kit. This is a Microsoft image and must be obtained from Microsoft. This file is typically found in the WinNT\system32 directory.

- There is only one uninstall procedure. Currently when you run the uninstall procedure, all the TPware products installed are removed.

- When installing the TP Desktop Connector in a directory that differs from a previous installation, check any of the user-defined environment variables to ensure that they are referencing the new installation directory.

- The installation procedure may run out of disk space while copying files due to customized disk configurations. (PTR 64-9-7)

Workaround:
Correct the problem and then perform a reinstall.

- If you need to uninstall or re-install the TPware product and want to save settings defined in the TPware Management Utility, perform the following before you uninstall. Note, this does not have to be done in order to install a TPware ECO. One reason for uninstalling and reinstalling the TPware kit would be to change the location for the kit installation directory.

  Click on Start -> Run...

  1. Enter regedit at the Open prompt
  2. Click Registry on the menu bar
  3. Select Export Registry File... on the Registry Menu
  4. Enter a separate file name in the File Name prompt for each of the settings to be saved.
  5. In Export range, click on the Selected branch button, then enter the appropriate registry key:

> HKEY_LOCAL_MACHINE\SOFTWARE\Hewlett-Packard\TPware\ACMSDA Settings (for the ACMS settings)
> HKEY_LOCAL_MACHINE\SOFTWARE\Hewlett-Packard\TPware\Group Settings (for the Threads settings)
> HKEY_LOCAL_MACHINE\SOFTWARE\Hewlett-PackardP\TPware\Share Settings (for the Sharing settings)

Click on the Save button. Repeat steps 4-5 for each of the settings to be saved.

To restore the registry settings after you re-install:

1. Click on Start -> Run...
2. Enter regedit at the Open prompt
3. Click Registry on the menu bar
4. Select Import Registry File... on the Registry Menu
5. Enter the file name in the File Name prompt. This should be the same file used in step E when the registry settings were saved.
6. Click on the Open button. You should see a message box telling you that the information has been successfully entered in the registry. Repeat steps E-F for each of the settings to be restored.

Note: For more information on pre-requisites and installation instructions, refer to the README file.

# Problems Fixed

## Problems Fixed in Version 5.0

There are no problems fixed in this release.

## Problems Fixed in Version 4.5A

Following are the problems fixed in this release:

- Problems while registering EMPLOYEE_ACMS_AUTO.DLL. There were problems in registering the EMPLOYEE_ACMS_AUTO.DLL due to discrepancies in the .asp files. Due to this, the .asp files are modified in the employee sample application.
- The name of the EMPLOYEE_INFO_APPL_XXX sample is changed to EMPLOYEE_WEB_APPL sample.
- The following table lists the files that are replaced by new files in the ACMSDI045A.E saveset:

Existing . . . | Replaced By . . .
EMPLOYEE_INFO_TASK_GROUP.GDF | EMPLOYEE_WEB_GROUP.GDF
TPWARE_ADD_EMPL_INFO.TDF | EMPLOYEE_WEB_ADD.TDF
TPWARE_GET_EMPL_INFO.TDF | EMPLOYEE_WEB_GET.TDF
TPWARE_PUT_EMPL_INFO.TDF | EMPLOYEE_WEB_PUT.TDF

## Problems Fixed in Previous Kits and ECO Releases

The following problems were fixed in releases prior to Release 1.2A:

- The ACMS Gateway output adapter would sometimes incorrectly return the error message -3103 when -3020 should have been returned instead. (PTR 64-8-13)
- If the length of a text field in a record definition equaled 1024 and the Java input adapter was being used then the compilation of the task group and corresponding record definition(s) would fail. (PTR 64-8-14)
- The Java adapter was incorrectly converting Unicode characters to UTF-8 instead of multibyte format. (PTR 64-9-24)
- The TPware Add sample server code was not the same code that was in the ACMSxp V3.1 NT kit. (PTR 64-4-20)
- The STDL compiler returned an error if the full pathname of the STDL file to be compiled contained embedded spaces. (PTR 64-4-29)
- When interfacing with HP ACMS, floating point numbers with a high degree of precision were not correctly converted from OpenVMS format to Windows NT format. (PTR 64-8-01)
- The Output Adapter drop down list for the client build utility did not list the HP ACMS output adapter type. (PTR 64-8-03)
- A client using the HP ACMS Gateway output adapter would spin if the TP Web Connector Gateway was shutdown or crashed while the client was connected. (PTR 64-8-04)
- The STDL compiler did not properly compile record definitions that contained embedded records when building the Java adapter. (PTR 64-8-11)
- A memory corruption problem has been fixed in the HP ACMS Gateway output adapter. (PTR 64-8-12)
- Failure to define RPC_DEFAULT_ENTRY via an environment variable or the TPware Management Utility caused the DCE NSID process to crash. (PTR 64-9-14)
- If a user was a member of many Windows NT groups, the TPware management GUI would fail to start. (PTR 64-9-15)
- The MSRPC output adapter did not correctly handle the selection of multiple servers with the same interface if one of the servers was down. (PTR 64-9-16)
- Binding Timeout, if enabled, did not work. (PTR 64-9-17)
- The STDL compiler truncated array names within records that exceeded 25 characters in length. (PTR 64-9-18)
- The STDL compiler allowed numeric characters as the first character in a STDL '#include' preprocessor directive statement. (PTR 64-11-15)

# Known Problems

Following are the known Problems with this release:

- Unsupported Product traces
  The TPWARE installation has been overhauled and many currently unsupported products have been removed from the kit (a notable example is ACMSxp, which is now retired). Still there may be some traces of these products in the installation tree, which are not functional, but still get copied during the Installation.

# Restrictions

There is no new restriction in this release.

# General Information

## General Notes

The following general notes apply to this release:

- ## The error log reporting stdlog -b (before) and -s (since) switches are not
  working properly. (PTR 64-11-17)

- ## At installation, a backup copy of the autoexec.bat was created in the same
  place as your Autoexec.bat file. This backup takes the form of Autoexec.xxx
  where the xxx is a unique numeric extension. If you have made no other
  changes to your Autoexec.bat since installing TPware, you may simply
  rename the backup copy to Autoexec.bat.

- When reading the on-line version of the product documents with Microsoft
  Internet Explorer V3.x, some of the hyperlinks do not work.
  Workaround: Upgrade to Internet Explorer V5.5 or V6.0.

## Programming C Clients

In a user program, if `einfo.h` is included before `windows.h` and a message header file is then included, compilation errors occur. (PTR 64-4-4)

Workaround: Include `windows.h` before `einfo.h` .

## Programming Automation Clients

The following notes apply to Automation clients:

- There are certain times when you must unregister and register an Automation server. Please see the section "Registering and Unregistering Automation DLLs" for further information.
- This version has limited Automation error reporting. Please see the section on "Interpreting Runtime Error Codes" for more information.
- Arrays are base 0 in Automation.
- Automation does not support user-defined datatypes. To handle user-defined datatypes, such as records, each record must be defined as a separate object. For embedded records the software creates an object with the name <field-name>_RECORD. If two embedded records in the same task or processing group file have the same field name, then the software will declare two objects with the same name. This causes an error. (PTR 64-4-19)
  Workaround: For X/Open or MIA Syntax: Make sure embedded records in the same task or processing group have unique field names. For X/Open Syntax only: Declare the embedded records as separate datatype, then reference the user-defined type in the field definition.
  For example, the following is invalid syntax for Automation adapter:

          TYPE MOVE_REC1 IS RECORD
              FLD_1 IS INTEGER;
              FLD_2 IS OCTET;
              FLD_3 IS RECORD
                    FLD3_1 TEXT SIZE 7;
                    FLD3_2 INTEGER;
              END RECORD;
           END RECORD;

           TYPE MOVE_REC2 IS RECORD
              FLD_1 TEXT SIZE 8;
              FLD_2 DECIMAL STRING SIZE 3;
              FLD_3 IS RECORD
                    FLD3_1 TEXT SIZE 7;
                    FLD3_2 INTEGER;
              END RECORD;
           END RECORD;

  The following is valid X/Open syntax for Automation adapter:

           TYPE USER_TYPE IS RECORD
              FLD3_1 TEXT SIZE 7;
              FLD3_2 INTEGER;
           END RECORD;

           TYPE MOVE_REC1 IS RECORD
              FLD_1 INTEGER;
              FLD_2 OCTET;
              FLD_3 USER_TYPE;
           END RECORD;

           TYPE MOVE_REC2 IS RECORD
              FLD_1 TEXT SIZE 8;
              FLD_2 DECIMAL STRING SIZE 3;
              FLD_3 USER_TYPE;
           END RECORD;

## Programming Java Clients

The following notes apply to Java clients:

- The Java adapter has been tested using Sun Microsystems' J2SE 1.4.2 SDK.
- Visual J++ Version 6.0 is required to run the Visual J++ Automation Add Sample.
- There is no support for bean serialization.
- Arrays (primitives, strings and objects) in the Java adapter are restricted to three dimensions.
- The STDL data type UUID is now converted to and from a Java String. This change to support the UUID data type requires that the Microsoft Visual C library RPCRT4.LIB is included in the link line when building a Java adapter DLL. The RPCRT4.LIB library is needed whether or not UUID types are used in the client application.
- The Java input adapter did not work with the Microsoft virtual machine. With the release of Microsoft SDK for Java, Version 3.1 there is now the option of using the Microsoft compiler and virtual machine. Use `http:\\www.microsoft.com\java\download.htm` build 3167 2/18/99 or later. When installed this version will provide a development SDK and virtual machine. It will also update the virtual machine for Visual Studio J++ if that product is installed. After the SDK installation, ensure that the executable path is set to locate the new `jvc.exe` and `jview.exe` images in preference to images from any earlier Microsoft development environment. The classpath might also need adjusting to locate the new `classes.zip` file.
  When building a Java input adapter from the command console under the Microsoft environment, the environment variable STDL_JAVA_MS has to be defined to be a non-null value. When STDL_JAVA_MS is defined the STDL compiler will use ,code_example>(jvc.exe) instead of the normal `javac.exe` to compile the Java source files. Microsoft does not provide the Jar utility. The STDL compiler needs the Jar utility to be available in order to archive the class files. The `Jar.exe` utility can be obtained from the normal Java distribution or one of the IDEs and made available in the executable path.
  To run the Microsoft virtual machine from the command console, execute `jview.exe` instead of `java.exe` .
  It is possible to elect to run the Microsoft virtual machine at runtime while using the normal JDK for development.
- This kit supports a workaround to allow the generated Java classes to be placed into a package. The following is a description of the steps to be taken to allow the STDL compiler to include the classes in a package. These steps are in addition to the directions for building Java clients provided in the HP TP Desktop Connector Getting Started guide.
  You must ensure that the working directory and a sub directory used when STDL compiles the Java files matches the naming of the Java package. For the purpose of this description, assume that the package is to be named `emp.tpw` , the name of the working directory is `C:\dev\emp` and the name of the directory that will hold the Java files during compilation is called `tpw` . The Java compilation directory is created under the working directory, `C:\dev\emp\tpw` . There will be an additional temporary directory automatically created by the STDL compiler alongside the Java compilation directory.
  1. Manually create the directories. The terminal directory names in the path have to match the names used in the package definition. For example:

              C:\dev\emp // Normal development work directory for the make, stdl
                            and result files
              C:\dev\emp\tpw // Java compilation temporary directory
              C:\dev\emp\temp // Automatically generated temporary directory

  2. Define the environment variable STDL_JAVA_PACKAGE=<package-name> in a way that matches the Java package directories. For example:

              STDL_JAVA_PACKAGE=emp.tpw

  3. When the java classes are generated they will include the named package. In order for the Java compiler to locate the classes in the package at STDL build time, the working directory's parent needs to be specified in the classpath. For example:

              SET CLASSPATH=%classpath%;C:\dev

  4. In addition to generating class files the STDL compiler will also generate C include files to be used when building the adapter DLL. Add the Java compilation directory to the INCLUDE environment variable to allow the C compiler to locate the generated include files during the STDL build. For example:

              SET INCLUDE=%include%;C:\dev\emp\tpw

  5. When the STDL build completes, the generated DLL and JAR files that are required for the application will have been moved up into the working directory. The normal temporary directory is cleaned up after a STDL build. This is not the case with the Java compilation directory. The directory can be cleaned up by adding to the make file cleanup, a delete of the files in the Java compilation directory.
     After the Jar file has been created, client programs can reference the class files in the package by including the Jar file in the class path and importing the package. For example, assume the jar file is named employee.jar:

              SET CLASSPATH=%classpath%;C:\dev\emp\employee.jar
              import emp.tpw.*; // In client application source file

- Records are defined as separate objects. For embedded records the software creates an object with the name <field-name>. If two embedded records in the same task or processing group file have the same field name, then the software will declare two objects with the same name. This causes an error. (PTR 64-4-19)
  Workaround: For X/Open or MIA Syntax: Make sure embedded records in the same task or processing group have unique field names. For X/Open Syntax only: Declare the embedded records as separate datatype, then reference the user-defined type in the field definition.
  For example, the following code is invalid syntax for Java adapter:

           TYPE MOVE_REC1 IS RECORD
              FLD_1 IS INTEGER;
              FLD_2 IS OCTET;
              FLD_3 IS RECORD
                    FLD3_1 TEXT SIZE 7;
                    FLD3_2 INTEGER;
              END RECORD;
           END RECORD;

           TYPE MOVE_REC2 IS RECORD
              FLD_1 TEXT SIZE 8;
              FLD_2 DECIMAL STRING SIZE 3;
              FLD_3 IS RECORD
                    FLD3_1 TEXT SIZE 7;
                    FLD3_2 INTEGER;
              END RECORD;
           END RECORD;

  The following is valid X/Open syntax for Java adapter:

           TYPE USER_TYPE IS RECORD
              FLD3_1 TEXT SIZE 7;
              FLD3_2 INTEGER;
           END RECORD;

           TYPE MOVE_REC1 IS RECORD
              FLD_1 INTEGER;
              FLD_2 OCTET;
              FLD_3 USER_TYPE;
           END RECORD;

           TYPE MOVE_REC2 IS RECORD
              FLD_1 TEXT SIZE 8;
              FLD_2 DECIMAL STRING SIZE 3;
              FLD_3 USER_TYPE;
           END RECORD;

## Controlling Client Connections

When a client uses ACMS Gateway Adapter the connection established by the client is cached. By default the connection is cached for up to 20 minutes of inactivity. If after 20 minutes the client has not used the connection, the connection will timeout due to inactivity. This value can be modified by entering a value in the Windows registry by using the registry editor. The registry value that needs to be added is located in the path:

    HKEY_LOCAL_MACHINE\SOFTWARE \Hewlett-Packard\TPware\Cache Settings

The value that needs to be added is Binding Timeout. The value represents the lifetime in minutes of the connection following a period of inactivity. If the value is set to zero, the connection is never removed due to inactivity. To change the Binding Timeout value, do the following:

- In the registry editor, highlight "Cache Settings".

- Go to the Edit drop down tab and select "add value".

- For the value name, enter Binding Timeout (note space in name).

- For the datatype, select DWORD, click on OK, and enter a value.

- Exit the registry editor.

- Restart the client in order for the change to take affect.

## Using the ACMS Gateway Adapter

The following notes apply to the ACMS Gateway output adapter:

- The HP ACMS Gateway adapter does not support the following features:

Exchange Steps

Data Compression

SHOW_DESKTOP_USERS Utility Program

Nonblocking Calls

Forced Nonblocking Calls

> Client Task Cancel Calls

> non-Windows Client Platforms

> non-TCP/IP transports

> variant datatypes

EINFO is not being cleared after an error occurs. (PTR 64-4-26)

## Using the HP TP Desktop Connector Gateway for ACMS

The release notes for the HP TP Desktop Connector Gateway for ACMS component (Version 5.0) are contained in a separate document within the HP TP Desktop Connector Gateway for ACMS installation procedure and are installed into the following OpenVMS system directory:

    SYS$HELP:ACMSDI050.RELEASE_NOTES -text format

## Using the TPware Management Utility

The following note applies to the TPware Management Utility:

- The TPware Management Utility does not save all changes before connecting to the next registry. (PTR 64-4-44).

  Workaround: Use the Computer tab only at the beginning of a TPware Management Utility session, make registry changes, then exit. If you want to use the Computer tab to connect to and make changes to multiple nodes, it is required that you exit the utility with "Close" or "OK" after managing each node.

## Using the Client Build Utility

The following notes apply to the Client Build Utility:

- The Client Build Utility creates a process that runs nmake to create the client files. This process is visible on the desktop as a minimized window icon. If nmake runs for 10 minutes without returning, the Client Build Utility timesout and returns a Create Process error. However, the created process will still be running. If the application is unusually complex it may be a legitimately long build, in which case the process can be allowed to complete. Otherwise the minimized window should be closed, which terminates the process.

- The Client Build Utility may display selections for adapters that have not been installed. If such a selection is made, the Client Build Utility is unable to generate the client files and returns an error. Although an adapter is displayed as a selection in the Client Build Utility, a build error occurs if it is selected and it has not been installed.
  Workaround: Select the output adapters that have been installed with your Product.

Rebuilding an existing Automation client generates the following error message. (PTR 64-9-13).

            Cannot create a file when that file already exists
            NMAKE: fatal error U1077: ’move’": return code’0x1’

Workaround: Delete the existing DLL before rebuilding.

## Samples

The following notes apply to the samples provided in the kit:

- The Samples provided in this kit can be found under the "TP Desktop Connector for ..." menu item accessible by the following menu hierarchy. Start–>Programs–>TPware Products–>TP Desktop Connector...

J++ Add sample for ACMS returns an error status of ’0’ instead of an error message. The complete error information (einfo) is entered to the Error Log.(PTR 64-9-12)

- The following are sample-related documentation errors (PTR 64-9-9):

  > - ADD sample for ACMS - Section on Setting up HP TP Desktop Connector runtime; last bullet in instructions says "click OK". There is no OK button.

## HP TP Desktop Connector Client Services Notes

The following notes apply to the HP TP Desktop Connector client services:

- Compression bug fix for 5k sized workspaces has been provided in this release.

- There are no samples for the Alpha platform.

- There is an add sample for the I64 platform.

- The Avertz client sample for OpenVMS has not been rebuilt.

- HP TP Desktop Connector client services software may not be fully tested on all client platforms and configurations.

# Troubleshooting Tips

## Registering and Unregistering Automation DLLs

There are certain times when the user must unregister and re-register an Automation server. If you are adding or removing methods, changing the number or type of arguments, or changing the fields in a record associated with an argument, you should unregister the existing Automation DLL using theregsvr32 -u command BEFORE you build the new DLL. Failure to issue the unregister command using the exact same DLL that was used when registering can cause the following problems:

- The unregister command does not remove all associated Windows NT Registry
- The unregister command signals errors

If you forgot to unregister before you built the new DLL and receive errors when unregistering, then select to continue if prompted. Next re-register the new DLL. If the Automation DLL registers successfully, the new Automation interface should be available. If not, try unregistering and registering again.

If you don’t re-register an Automation DLL and you have changed any of the information mentioned above, then the Automation server will not work correctly. This happens because the registered Automation interface is out of sync with the Automation interface in the DLL.

If you receive any of the error messages in the following list when registering or unregistering an Automation DLL, verify that the STDL_SYS_DIR environment variable is defined and in the current path. If you did not reboot after installing the kit, you should do so.

- The dynamic link library stdl_rtm.dll could not be found in the specified path.

-      LoadLibrary ("") failed
      Get Last Error returns 0x0000007e

- Please check that the STDL_SYS_DIR environment variable is defined and in the current PATH. If you did not reboot after installing the kit you should do so.

## Interpreting Runtime Error Codes

### Location of Runtime Error Code Information

Other than Automation errors as described below, TP Desktop Connector returns error information in einfo.ecode. These error codes and their descriptions can be found in the following files:

> <installed-kit>\stdl\include\stdlrt_msg.h
> <installed-kit>\stdl\include\acmsda_client_messages.txt (ACMS option only)

The stdlrt_msg.h file contains error codes for TPware runtime exceptions. The range of these errors is 01 to 255 (0x01 to 0xff)

The acmsda_client_messages.txt file documents client error codes. The range of these errors is -3000 to -3199 (0xfffff448 to 0xfffff381). Please examine this file to evaluate and respond to client and/or gateway errors as logged in the ACMS Software Error log (SWLUP). Also see SYS$HELP:ACMSDI$SERVER_MESSAGES.TXT on the OpenVMS gateway system for evaluating gateway error information. (ACMS option only)

### Interpreting Automation Errors

Runtime Automation error values are returned using a 32-bit number known as a result handle (i.e. HRESULT). The structure of a HRESULT value is defined by Microsoft. Automation errors returned by the TP Desktop Connector start at 214774989 (0x80041001). These values can be translated to error codes found in stdlrt_msg.h using the following formula:

> STDL error code = <Automation-error-code-value> - 0x80041000

© Copyright 2006 Hewlett-Packard Development Company, L.P.

Confidential computer software. Valid license from HP required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor’s standard commercial license.

The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additonal warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.

Microsoft and Windows are US registered trademarks of Microsoft Corporation.

Java is a US trademark of Sun Microsystems, Inc.

Printed in the US