IBM ViaVoiceä - UK English
Command & Control Runtime Readme
Release 7.0
February 29, 2000

© Copyright International Business Machines Corporation 2000. All Rights Reserved.
Note to U.S. Government Users --- Documentation related to restricted rights --- Use, duplication, or
disclosure is subject to restrictions set forth in GS ADP Schedule Contract with IBM Corp.
CONTENTS
1.	Installation Notes
2.	Minimum System Requirements
3.	Developer Support Information
4.	ISV Runtime Licensing Guidelines
5.	Installing ViaVoice Runtimes
6.	Using ViaVoice Runtimes
7.	Uninstalling ViaVoice Runtimes
8.	General Limitations 
9.	Trademarks and Notes

This Readme contains the latest information on the ViaVoice Command and Control Runtime. Please familiarise yourself with this Readme. Note: Before using this information and the product it supports, read the general information under Trademarks and Notes.

It is advisable to have some of the items mentioned in this document be made available to the end-user of your product. This could be a simple readme.txt or through other means. Information contained in “Installation Notes” and “General Limitations” are good candidates for your end-users. End-user relevant information from other sections may also be used.

1. Installation Notes

•	You can install this 7.0 runtime, or any product containing the 7.0 runtime, over IBM ViaVoice Products.  However, if you install the U.S. version of IBM ViaVoice Millennium over any 7.0 runtime, both products (U.S. IBM ViaVoice Millennium and the ViaVoice Runtime 7.0) may be disabled.  (Other languages of IBM ViaVoice Millennium are not affected.)

To re-enable both the runtime and U.S. IBM ViaVoice Millennium, run the ViaVoice Runtime patch, called “repairrt.exe,” located in the \rtcontrol\support directory of the ViaVoice Runtime installation CD. 

•	If you install ViaVoice Runtime 7.0 over a previous ViaVoice product, the installation program migrates your personal speech data from the previous product to ViaVoice Runtime 7.0. Speech data such as added words, dictation and navigation macros, and your personal vocabulary (language model) are migrated to ViaVoice Runtime 7.0. However, you must complete a new enrolment for ViaVoice Runtime 7.0—your ViaVoice enrolments are not migrated. You will be asked to run the Analyse My Voice Wizard and create a new Voice Model.

•	Before you install ViaVoice Runtime 7.0 on a computer that has a discrete speech product installed such as VoiceType 3.0.x or Simply Speaking, be sure that you uninstall the discrete speech product first. Your discrete VoiceType enrolments and personal speech data cannot be used by ViaVoice Runtime 7.0 and will not be migrated. You will be asked to run the Analyse My Voice Wizard to create a new User and Voice Model. Your discrete User data is saved in case you decide to install a discrete speech product again.

•	Installing ViaVoice Runtime 7.0 on a system with Dragon NaturallySpeaking will render certain parts of the Dragon product inoperable. This is due to incompatibilities between Dragon NaturallySpeaking and Microsoft’s DCOM98.EXE.  DCOM98.EXE is required by ViaVoice Runtime 7.0. 

•	Installing ViaVoice Runtime 7.0 over ViaVoice 98 might render SpeakPad inoperable. This problem is due to incompatibilities between SpeakPad and a later MFC42.DLL. A refresh version of ViaVoice 98 must be installed to repair SpeakPad. To obtain the refresh CD of ViaVoice 98, users should call the telephone support number listed in their ViaVoice User’s Manual.

•	Installing ViaVoice Runtime 7.0 over ViaVoice Gold will disable the use of the Train feature from the “What Can I Say” window. In order to train the words, use the Vocabulary Manager from the Start>Programs>IBM ViaVoice – UK English>Tools menu.

•	If users install the ViaVoice Runtime 7.0 over an IBM ViaVoice product released prior to ViaVoice Millennium, the new ViaVoice Options online help might not match or might include information for more options than are actually available on the original ViaVoice product.  Users should disregard information about options that are not available on their product.  

•	If users install the ViaVoice Runtime 7.0 over an IBM ViaVoice product released prior to ViaVoice Millennium, any new users created on the original product might lose the ability to use the Begin Spell and Begin Numbers voice commands. 

•	Users who install Lotus SmartSuite 9.5 over the ViaVoice Command and Control Runtime 7.0 may be unable to dictate to SmartSuite. To re-enable dictation in SmartSuite do the following: from the Lotus SmartSuite 9.5 CD go to the folder extra\ViaVoice\UK\vvsi\ViaVrt
and launch setup.exe to install the Dictation Runtime. After Dictation Runtime has installed, reboot and reinstall the ViaVoice Runtime 7.0.

2. Minimum System Requirements

Windowsâ 95/98:
•	Intelâ Pentiumâ 166MHz with MMXä and 256K L2 cache (or equivalent), (including AMD-K6â 200MHz or AMD-K6â with 3DNow! ä, each with 256K L2 cache)
•	48MB of RAM in total
•	260MB of available hard disk space
•	Display mode set to 256 colours or higher is recommended
•	A Windows 95/98 compatible 16-bit sound card of good recording capability (with a microphone input jack)
•	Quad-speed CD-ROM drive or faster

Windows NTâ Workstation 4.0 with Service Pack 4:
•	Intelâ Pentiumâ 166MHz with MMXä and 256K L2 cache (or equivalent), (including AMD-K6â 200MHz or AMD-K6â with 3DNow! ä, each with 256K L2 cache)
•	64MB of RAM in total
•	260MB available hard disk space
•	Administrator authority required to install and use this program
•	Display mode set to 256 colours or higher is recommended
•	A Windows NT compatible 16-bit sound card of good recording capability (with microphone input jack)
•	Quad-speed CD-ROM drive or faster 

3. Developer supporT Information

The ViaVoice Developer Forum at http://domino.watson.ibm.com/speech/voicetypedev.nsf provides a mechanism for exchanging information and ideas with other ViaVoice developers. This forum is intended for communication between developers and an IBM response to questions is not guaranteed.
   
Developers purchasing the SDK will be provided a direct link to ViaVoice development engineers for support via e-mail with a guaranteed response time of one business day.

For more information about the ViaVoice SDK for Windows visit the ViaVoice Developer's Corner at: http://www.ibm.com/software/speech/dev

For information about licensing the ViaVoice Runtime, send an e-mail to: vvlic@us.ibm.com

4. isv runtime Licensing guidelines

Following proper guidelines ensures that the ViaVoice Runtime is properly counted, maintained for other applications, and removed from the system when not used anymore. You, as an ISV, must comply with the following guidelines in your software to comply with the licensing associated with this ViaVoice Runtime:

•	Your application must copy the Runtime in its entirety to your product CD.

•	Your application’s installation must install this ViaVoice Runtime when your application is installed. Similarly, your application must uninstall this ViaVoice Runtime when your application is uninstalled. More information about this is located below in the Section 5: INSTALLING VIAVOICE RUNTIMES and Section 7: UNINSTALLING VIAVOICE RUNTIMES.

•	Your application must create a return area prior to the ViaVoice Runtime installation so the ViaVoice Runtime can return information. Your application installation program must remove this return area upon completing execution. More information about this is located below in the Section 5: INSTALLING VIAVOICE RUNTIMES.

•	Your application must invoke the ViaVoice Runtime installation with at least the minimum number of command line arguments as outlined below.

•	Your application must register itself as a client of the ViaVoice Runtime. More information about this is located below in the Section 5: INSTALLING VIAVOICE RUNTIMES.

•	Your application’s installation must inspect the return codes from the ViaVoice Runtime installation. These return codes must be handled appropriately. More information about this is located below in the Section 5: INSTALLING VIAVOICE RUNTIMES.

•	Your application must not add or remove files from the ViaVoice directories. More information is located below in Section 6: USING RUNTIMES.

•	Your application must resolve path information for ViaVoice binaries through VVRTKREG.DLL. More information about this is located below in Section 6: USING RUNTIMES.

•	Your application must launch ViaVoice executables through the VVRTKCLIENTS.DLL. More information about this is located below in Section 6: USING RUNTIMES.

•	Your application must create a return area prior to uninstalling the ViaVoice Runtime so the ViaVoice Runtime can return information. Your application uninstallation program must remove this return information area upon completing execution. More information about this is located below in Section 7: UNINSTALLING VIAVOICE RUNTIMES.

•	Your application’s uninstall must uninstall this ViaVoice Runtime through a helper DLL, VV70U_XX.DLL (where XX is a language code - US, UK, FR, GR, ES, etc.). More information about this is located below in Section 7: UNINSTALLING VIAVOICE RUNTIMES.

•	Your application’s uninstall must unregister itself as a client of the ViaVoice Runtime. More information about this is located below in Section 7: UNINSTALLING VIAVOICE RUNTIMES.

•	Your application’s uninstall must inspect the return codes from the ViaVoice Runtime uninstall. These return codes must be handled appropriately. More information about this is located below in Section 7: UNINSTALLING VIAVOICE RUNTIMES.

This runtime includes features to prevent accidental removal of the ViaVoice Runtime while a ViaVoice Runtime-dependent application is still installed on the system. It requires a little more implementation effort for installation and uninstallation of this runtime, but the end result is a better user experience with your application.

To simplify your implementation, sample code has been provided. Keep in mind that this is sample code and it may have errors although IBM tries very hard to provide “bug-free” code. Examples outlining proper procedures are provided under the \SAMPLES directory on your installation media. Developer support files are provided under the \DEVELOP directory on your installation media. The latest versions of these files are also available for download from the ViaVoice Runtime download page.

5. iNSTALLING ViaVoice runtimes

Your application install must install this version of the ViaVoice Runtime. Sample code executing the ViaVoice Runtime Installation can be found under \SAMPLES on your installation media.

The ViaVoice Runtime allows you to customise the directory into which it installs.  The installation directory, however, must be limited to 60 characters due to backward-compatibility issues under Windows 95.  Also, in order for the runtimes to co-exist with other IBM speech products, the custom directory will be ignored if ViaVoice is already installed on the machine.

Special considerations are necessary when installing the ViaVoice Runtime. More details on each step are provided in the bulleted section after the steps.

To install on a machine where no previous or current versions of your product exist, follow these steps:

1. Register your application as a client of the ViaVoice Runtime by setting registry keys.
2. Create the key ‘\HKEY_LOCAL_MACHINE\Software\IBM\ViaVoice Installation’ for return codes.
3. Launch the SETUP.EXE with the proper command line parameters for the ViaVoice Runtime.

To install on a machine where any version of your application is installed (either upgrading or over-installing), follow these steps:

1. Uninstall the ViaVoice Runtime. More information is located in section 7. UNINSTALLING VIAVOICE RUNTIMES.
2. Register your application as a client of the ViaVoice Runtime by setting registry keys.
3. Create the key ‘\HKEY_LOCAL_MACHINE\Software\IBM\ViaVoice Installation’ for return codes.
4. Launch the SETUP.EXE with the proper command line parameters for the ViaVoice Runtime.

•	To register your application as a client of the ViaVoice Runtime, set the following values under a new key called HKEY_LOCAL_MACHINE\Software\IBM_REGISTER with the following values:
Value	Description	
szVisibleName	The name of your application (may be displayed)	
szMajor	Major version number of your application	
szMinor	Minor version number of your application	
szUnique	Any unique identifier you wish to add	

You must then delete this key after the ViaVoice Runtime installation returns to your application. Sample code to create this key, fill in the values, and delete it can be found under the directory \SAMPLES on your installation media.

•	To launch the ViaVoice Runtime installation, you must invoke SETUP.EXE for the ViaVoice Runtime on the media you are distributing. SETUP.EXE takes several command line parameters. These are described below. 

Simplified BNF:
<Parse> ::= <installation-media-dir>SETUP.EXE [<installpath><FORWARDSLASH>  <space> <options>];
<installation-media-dir>::=<drive><colon><Valid-Path><BACKSLASH>;
<installpath> ::= <destination-directory> 
<destination-directory> ::= <Valid-Path of less than 61 characters>;
<username> ::= <QUOTE> <first name> [[<space>] <surname>]<QUOTE> ;
<first name> ::= 1..40::<ALPHA-NUMERIC> || <space> || “(“ || “)” || “_” || “.” || “-“;
<surname> ::= 1..40::<ALPHA-NUMERIC> || <space> || “(“ || “)” || “_” || “.” || “-“;
<options> ::= <option> <space> <option>
<option> ::= “-SMS” || “/nq” || “/nn” || “/nu” <QUOTE> <username> <QUOTE> || /nSRMike8 || /nSRMike11 || /nSRMike22 || /nr || /nl || /ns
<space> ::= ASCII 0x20 (decimal 32)
<QUOTE> ::== ASCII 0x22 (decimal 34)
<Valid-Path of less than 61 characters> ::= 1..60::<Valid-Path-Char>
<Valid-Path>::= 1.._MAX_PATH::<Valid-Path-Char>
<Valid-Path-Char>::=<RESTRICTED ASCII>

Option	Description	
-SMS	Ignore Network Timeouts (might be necessary with slower networks or CD-ROM drives).	
/nq	Run in quiet mode showing only a thermometer.	
/nn	Display the new orthography panel for Austrian German version.	
/nu “firstname surname”	New user to be created.	
/nSRMike8	Set the default sampling rates to 8 KHz.	
/nSRMike11	Set the default sampling rates to 11 KHz.	
/nSRMike22	Set the default sampling rates to 22 KHz. If none are selected, this is the default.	
/nr	Disable Reboot screen.	
/ns	Disable Sound Check.	

Example:
SETUP.EXE C:\Program Files\MyInstViaVoice/ /nr /nq /ns /nu “John Smith” –SMS

Notes:
•	If ViaVoice is already installed, the custom directory will be ignored.

•	The minimum arguments to successfully install under another application are the destination directory, the user name (/nu “username”) and the IBM_Register registry key (and its subkeys).

•	After installing the ViaVoice Runtime, your application’s installation must inspect the return codes from the ViaVoice Runtime installation and handle them appropriately. The return codes for the ViaVoice Runtimes install and uninstall are described below.

RETURN CODE VALUES FROM VIAVOICE RUNTIME INSTALL AND UNINSTALL
Errors encountered during both the installation and uninstallation are returned to your software via registry keys. The return information can be found under  “HKEY_LOCAL_MACHINE\Software\IBM\ViaVoice Installation”. Under this key, the following values can be found:

"ErrorCode" - This is a string value and is “0” for success, otherwise an error was encountered. This number is a decimal representation of a 32-bit hexadecimal bit sensitive return code. A return code may consist of more than one bit being set.
In order to determine the nature of the error, the string value must be converted into an integer and the resulting number must be ANDED with mnemonic from the VVINSRC.H file. For example, suppose an application wants to install the ViaVoice Runtime to support a speech interface on an NT machine. If the user launching the installation does not have administrative privileges, the ViaVoice Runtime installation would return a value other than “0” through the “ErrorCode” registry entry. The application installation program regains execution control after the Runtime installation aborted. The application loads the Registry value from HKEY_LOCAL_MACHINE\Software\IBM\ViaVoice Installation and notices it is not “0”, but it is “67”. To report errors properly to the user the application converts the string into an integer, I, which equals 67. The application checks to see if (I & RT_CONFIG_APP_ACTIVE) is true. It is not (but if it is, this means a speech application was running so the installation is aborted). Next the application checks to see if (I & RT_CONFIG_BAD_OS) is true. It is not (but if it is, it means a minimum requirement for the operating system is not met and the installation is aborted). Next, the application checks to see if (I & RT_CONFIG_NOT_ADMIN) is true. It is TRUE, so the application reports the reason of the failure to the user. 

ERROR CODES
Value	Mnemonic	Description	
0x00000000	RT_CONFIG_SUCCESS	Operation was successfully completed.	
0x00000001	RT_CONFIG_ERROR	General error encountered.	
0x00000002	RT_CONFIG_INSTALL	Install set the error.	
0x00000004	RT_CONFIG_UNINSTALL	Uninstall set the error.	
0x00000010	RT_CONFIG_APP_ACTIVE	Speech application(s) was running.	
0x00000020	RT_CONFIG_OS_BAD	Operating system check failed.	
0x00000040	RT_CONFIG_NOT_ADMIN	User did not have administrative authority.	
0x00000080	RT_CONFIG_DISK_SPACE	Disk space was not sufficient.	
0x00000100	RT_CONFIG_NO_SOUND	Sound check was not successful.	
0x00000200	RT_CONFIG_DIFF_LANG	Older version of a different language must be uninstalled before installing this version.	
0x00000400	RT_CONFIG_REBOOT_REQ	Reboot is required before using this runtime.	
0x00000800	RT_CONFIG_BADCMDLNE	Command line arguments were incorrect.	
0x00001000	RT_PRODUCTS_EXIST	Installed applications depend upon the runtime.	
0x00002000	RT_DPRODUCTS_EXIST	Discrete Products using runtimes exist on the machine (these products will not be installed over until they are removed).	
0x40000000	RT_CONFIG_USER_QUIT	User cancelled the operation.	

•	"ErrorString" - A description of the error. Currently only install provides language-specific descriptions. The uninstall of ViaVoice runtimes provides English-only descriptions, so it cannot be passed along to the user.

After installation, remove the key ‘HKEY_LOCAL_MACHINE\Software\IBM\ViaVoice Installation’ and the IBM_Register registry key.

If the return code indicates that locked system files prevented installation of files, a reboot will be required. Your product’s installation must present the user the option of rebooting after your application has completed installing if the return code indicates a reboot is necessary. If the return code from ViaVoice Runtime 7.0 installation indicates a reboot is required, do not attempt to use any of the ViaVoice files until after reboot.

After inspecting the return codes, the return code area must be removed from the registry. Remove the key ‘\HKEY_LOCAL_MACHINE\Software\IBM\ViaVoice Installation.’ Sample code to inspect the return value and remove this key can be found under \SAMPLES on your installation media.

6. USING VIAVOICE runtimes

Developer support files are provided under the directory \DEVELOP on your installation media. All required header files used for development are located there. A complete list of files included are listed below:

DEVELOPER FILES (UK)
File			Description	
VVRTKClients.lib	File resolving calls to VVRTKClients to functions in library.	
VVRTKClients.dll	Code encapsulating launching ViaVoice programs.	
VVRTKClients.h	File defining interface to VVRTKClients.	
VVRTKReg.lib		File resolving calls to VVRTKReg to functions in library.	
VVRTKReg.dll		Code encapsulating ViaVoice registry information.	
VVRTKReg.h		File defining interface to VVRTKReg.	
VV70u_UK.lib		File resolving calls to VV70u_UK to functions in library.	
VV70u_uK.dll		Code encapsulating uninstalling ViaVoice Runtime.	
VV70u_UK.h		Code defining interface to VV70u_UK. 	
VVINSRC.h                A header defining the error codes for install/uninstall of the Runtime.	

Sample Files
File			Description	
EXINSTALL.RUL            A code snippet written in InstallShield 5.5 to install Runtimes.	
EXUNINST.CPP             A code snippet written in C++ to uninstall Runtimes.	
VVINSRC.h                A header defining the error codes for install/uninstall of the Runtime.	

Your application must not add or remove files from the ViaVoice directories. ViaVoice might remove files in these directories.  Furthermore, your application should make no assumptions about the location of ViaVoice files on the hard disk. Launching ViaVoice executables should be done through the VVRTKCLIENTS.DLL, which will be placed into the system directory of the operating system. Getting Registry information about ViaVoice should be done through the VVRTKREG.DLL, which is also placed into the system directory of the operating system. The interface to these dynamic linked libraries is outlined in the Section 7. UNINSTALLING VIAVOICE RUNTIMES.

For the Command and Control Runtime, the certain files for Dictation Macro Editor and Vocabulary Expander have been included for compatibility reasons.  Do NOT attempt to use them in your Command and Control product.  The files are incomplete and will result in page faults.

If you want to use a USB microphone or a USB adaptor for a microphone, you must install the USB audio driver and select the USB audio device as your preferred recording device.  (Your computer must have an USB port, and your Windows version must be Window 98 or higher.) 

To set up the USB Audio Device:
1.	Plug the USB connector into the USB port on your computer.  
2.	Follow the on-screen instructions to install the USB driver on your system.
3.	Select the USB Audio Driver as your recording device using one of the following methods:  
•	Click Start > Settings > Control Panel.  Double-click Multimedia.  Open the Audio tab on the Multimedia Properties window.  Under Recording, open the Preferred Device menu, and select USB Audio Device.  Click OK or Apply.
•	Alternatively, you can select the USB Audio Device during the Audio Setup Wizard after installing the ViaVoice Runtime.  In the Selecting a Sound Card window (second window of the wizard), open the Input menu, and select USB Audio Device, and then complete the rest of the wizard.

7. UNInstalling ViaVoice Runtimes

Your program’s uninstall must call the uninstall for the ViaVoice Runtime.

Sample code for uninstalling the ViaVoice Runtime can be found under the directory \SAMPLES on your installation media. The sample code is also described below.

Note: The ViaVoice Runtime uninstall allows users to completely remove ViaVoice from their system if they choose to do so. By default, all user data remains on the machine unless the proper command line switches are added to call to the Runtime uninstall program.  

INTERFACES TO VVRTKREG, VVRTKCLIENTS, AND VV70U_UK.DLL
Only the functions stated below are supported. Any others are IBM-proprietary and are subject to change at any time.
•	VVRTKReg.DLL is designed to help you get path information about the ViaVoice Runtime. Use the GetFullPath function to get the path to the ViaVoice binaries.

GetFullPath( VVPath vvPath, LPTSTR lpszFullPath )

Note: This DLL contains other functions that are not to be used by ISVs and are not guaranteed to be present from one version to the next. For example, if you wish to determine the path to the helper uninstall DLL, VV70u_UK.DLL, you would need to inquire the path of the ViaVoice Runtime binaries. 

•	VVRTKClients.DLL is designed to help you interact with ViaVoice Runtime clients. You may launch, query the ready state of, and determine if a ViaVoice Runtime client is running. The main functions your applications will be calling are: 
VVRtkClients_IsClientAvailable(VVRTKCLIENT_ID nClientID)

VVRtkClients_Launch(VVRTKCLIENT_LAUNCH_INFO   *pcliInfo, 
                               VVRTKCLIENT_PROCESS_INFO  *pcpiProcInfo,
                               int nReserved);

VVRtkClients_IsClientRunning(VVRTKCLIENT_ID nClientID)

•	VV70U_UK.DLL is designed to help you safely uninstall the ViaVoice Runtime. The main functions you will be calling are:

IsRemovable (LPCSTR szProductType)
UninstallQuietly (LPCSTR szProductType, LPCSTR szOptions)
CreateAddRemoveEntry (LPCSTR szProductType)
UnregisterClient (LPCSTR szProductName, LPCSTR szMajor, LPCSTR szMinor, LPCSTR szUnique)

Of particular interest is the szOptions argument to UninstallQuietly. Currently three options are supported: “remain,” “remove,” and “delusr.”  “Remain”, instructs the ViaVoice Runtime to stay on the machine even if its reference count reaches 0. “Remove” instructs the ViaVoice Runtime to delete itself even if the reference count has not reached 0. “Delusr” instructs the runtime to remove all user data from the machine. In order to pass these options to the uninstall for the ViaVoice Runtime, simply space-delimit them to the second argument of UninstallQuietly.

For example, if you were uninstalling an application that uses the ViaVoice Runtime, you would use the following pseudo-code in your uninstall:

Function RemoveRuntimes

Set bProceed variable to TRUE;
Set ID_PRODUCT_RTDICT to 4.
Set ID_PRODUCT_RTCONTROL to 5.

If Uninstalling RT_DICTATION then set RuntimeType to ID_PRODUCT_RTDICT.
If Uninstalling RT_COMMAND then set RuntimeType to ID_PRODUCT_RTCONTROL.
Load the VV70u_uk.DLL using the VVRtkReg.DLL and the Win32 Call LoadLibrary.
If Loading was not successful then Set bProceed to FALSE.
Endif.

If bProceed is TRUE then:
Call the Win32 API call GetProcAddress to find the function UnregisterClient.
Call the Win32 API call GetProcAddress to find the function IsRemovable.
Call the Win32 API call GetProcAddress to find the function UninstallQuietly.
Call the Win32 API call GetProcAddress to find the function CreateAddRemoveEntry.
If GetProcAddress was not successful for all four functions then:
Set bProceed to FALSE.
Endif.
Endif.

If bProceed is TRUE then:
Call UnregisterClient to unregister your application as a user of the runtime.
Call Function IsRemovable returning IRResult.
If IRResult <> 0 then:
  Query user if they wish to delete user data.
  If user said yes:
    Call Function UninstallQuietly with RuntimeType and “remove delusr”.
  Else:
    Call Function UninstallQuietly with RuntimeType and “remove”.
Else:
  Call Function UninstallQuietly with RuntimeType and “remain”.
  Call Function CreateAddRemoveEntry with RuntimeType.
Endif_then_else.
Endif.

If bProceed is TRUE then:
Call function CheckDictRTUninstStatus (see sample code).
Endif.

End Function

For more explicit (code-oriented) information, please see the samples located in the directory \SAMPLES on your installation media.

Uninstalling the ViaVoice Runtime requires using a helper DLL. For the UK English version of ViaVoice, this dynamic-linked library is called VV70u_UK.DLL. Since you can make no assumptions about the location of the ViaVoice binary files, it is necessary to locate this dynamic-linked library using the function call GetFullPath() in VVRTKReg.dll, located in the system directory of your operating system. For more information about using this library, refer to section 6. USING VIAVOICE RUNTIMES and INTERFACES TO VVRTKREG, VVRTKCLIENTS, AND VV70U_UK.DLL above.

The helper DLL facilitates the following steps in the uninstall procedure:

•	Unregister your application as a ViaVoice Runtime client.
•	Ensure that other speech applications will not be crippled by the uninstallation.
•	Uninstall the ViaVoice Runtime quietly.
•	Create an Add/Remove program entry for the ViaVoice Runtime (when needed).
•	Clear the registry from residual entries.
•	Allow the user to completely remove all data from the machine.

In addition to using these helper functions, your uninstall should inspect the return codes set during the uninstall of the ViaVoice Runtime. Finally, your installation should use a helper function to clean up the return area used for return codes.

Users who want to uninstall the IBM ViaVoice Runtime can do so by using the Add/Remove Programs option under Start > Settings > Control Panel.  However, in some cases, such as when a user first uninstalls IBM ViaVoice Millennium, the ViaVoice Runtime might not appear in the Add/Remove Programs menu, but the files still appear in the ViaVoice directory.  If this occurs, to uninstall the U.S. IBM ViaVoice Runtime files, the user should invoke the rmcontUS.bat file from the Bin directory.  Users should also run the language-specific batch file for each installed language of the ViaVoice Runtime, such as rmcontUK.bat (U.K. English), rmcontES.bat (Spanish), rmcontFR.bat (French), rmcontBR.bat (Brazillian Portuguese), rmcontGR.bat (German), and rmcontJP.bat (Japanese).

8. general limitations

•	When using Windows 98 only, if you experience system crashes for files that begin with the letters "OLE," go to the web site “www.microsoft.com/com” and click "Distributed COM (DCOM)". On this page, click "Downloads & CD-ROMS", and then click "DCOM98 for Windows 98" to download and run the file "DCOM98.EXE". This file contains important updates for Windows 98, which can correct these problems.

•	When backing up or restoring a user using Windows 95/98, the speech bubble graphic may stop moving for a couple seconds and then begin to move again. However, the system is still performing the backup/restore function, and it will be completed properly.

•	Sometimes when you install Olympus ViaVoice Transcription over ViaVoice Runtime 7.0, the Olympus ViaVoice Transcription installation program might cause a page fault. If this occurs, close the page fault dialogue box and proceed with Olympus ViaVoice Transcription installation. The installation will complete successfully.

•	When installing World Bookä 99 with ViaVoice over ViaVoice Runtime 7.0, you will see the Add IBM ViaVoice Gold Runtime message. You must select Exit from this message, and the installation will complete successfully. 

Audio Limitations

•	Turn off the microphone before starting programs that use the sound card. Some programs cannot correctly detect that the sound card is in use and display the appropriate message to close any other programs currently using the sound card. If you run programs that use the sound card, such as “Greetings Workshop” or other multimedia programs or games, we recommend that you turn off the VoiceCentre microphone when you are using these programs. 

•	If you have a SoundBlaster 16, SoundBlaster Live!â or SoundBlaster 128 PCI sound card, turn on AGC (Auto Gain Control). You obtain better recording quality if the AGC check box is set as follows:
1) Right-click the Volume (speaker) icon in the system tray located at the right of the Taskbar, and then click Volume Controls.

2) Click Options and then click Properties. Select Recording, make sure the Microphone volume control check box is selected, and click OK to display the Recording Control window.

3) Click Options and make sure the Advanced Controls check box is selected. Then click Advanced in the Microphone column of the Recording Control panel and select the AGC or Auto Gain Control check box, and close the Advanced Controls for Microphone panel.

•	If you have a SoundBlaster AWE 64 sound card or certain Crystal sound cards, turn off AGC (Auto Gain Control) or Microphone Boost. You must clear the AGC or Microphone Boost check box before running Audio Setup. If you run Audio Setup with the AGC or Microphone Boost check box selected, run it again after you first clear the check box as follows:
1) Right-click the Volume (speaker) icon in the system tray located at the right of the Taskbar, and then click Volume Controls.

2) Click Options and then click Properties. Select Recording, make sure the Microphone volume control check box is selected, and click OK to display the Recording Control panel.

3) Click Options and make sure the Advanced Controls check box is selected. Then click Advanced in the Microphone column of the Recording Control panel and clear the AGC/Auto Gain Control or Microphone Boost check box, and close the Advanced Controls for Microphone window.

•	A compatibility issue has been reported with the device driver for the SoundBlaster Live! sound card for Windows NT. Due to this problem, ViaVoice is not supported for use with this sound card on Windows NT. Please refer to the ViaVoice web site, http://www.software.ibm.com/speech/support/support_tested.html, for the latest information regarding hardware compatibility.

•	If you encounter a problem or error during the processing of your Voice Model, you should restart your computer. When you run User Wizard, click Restart on the message that is displayed to continue processing and successfully complete the analysis of your voice.

•	A problem has been reported with the line-in driver for the Turtle Beach sound cards for Windows 98 only. Due to this problem, you cannot use a line-in device for this sound card with ViaVoice.

•	If you find that your audio quality is poor after you try to read the text several times on the "Adjusting the Microphone Level" page in the Audio Setup Wizard, you may have an older version of the audio device driver for your sound card. To solve this problem, you must download and install the latest audio device driver for your sound card from your PC manufacturer's web site before you call technical support.

•	If you find that during the Audio Setup Wizard you cannot hear the playback because the sound is muted, you may have an older version of the audio device driver for your sound card. To solve this problem, you must download and install the latest audio device driver for your sound card from your PC manufacturer's web site before you call technical support.

•	If you are using the ESS Solo PCI sound card, you may find that during the Audio Setup Wizard you cannot hear the playback because the sound is muted. To solve this problem, you must download and install the latest audio device driver for this sound card. Go to the IBM web site: www.pcco.ibm.com/qtechinfo.htm and then type "IBM PC Drivers" in the search field and click go. On the Search Results page, click the link for IBM PC Drivers. Click the family name from the list and then on the machine family support page, scroll down the page and click the link "Device Driver File Matrices". Scroll down the page and click your machine type. Click the file name that corresponds to your driver type and operating system and follow the instructions to download and install the updated audio device driver.

•	The Mute check box for wave files in Volume Controls gets checked for the ESS1887E Plug and Play sound card each time Audio Setup is run, so some playbacks cannot be heard. If this happens, go to the Volume Controls and uncheck the Mute check box for wave files.

9. TrademarkS AND NOTES

IBM, ViaVoice, and VoiceType are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both.

Adobe Acrobat is a trademark or registered trademark of Adobe Systems Incorporated.

Microsoft, Windows, Windows NT, and the Windows logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries.

Intel, Pentium, and MMX are trademarks or registered trademarks of Intel Corporation in the United States, other countries or both.

All other names are trademarks, registered trademarks, or service marks of their respective companies.

The following paragraph does not apply to the United Kingdom or any country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions; therefore, this statement may not apply to you. 

It is possible that this publication may contain reference to, or information about, IBM products (machines and programs), programming, or services that are not announced in your country. Such references or information must not be construed to mean that IBM intends to announce such IBM products, programming, or services in your country. Requests for technical information about IBM products should be made to your IBM reseller or IBM marketing representative.

This publication could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time.

Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.