SystemTools Remote Control Manager (STRCM)
Help and Usage Information

Contents

About the STRCM

Downloading and Installation
Configuration
STRCM Integration with Hyena

Limitations
VNC Resources
FAQ

About the STRCM

The STRCM consists of a standalone command line utility (STRCM.exe) and documentation for how to integrate the STRCM with existing remote control software products. The STRCM utility does NOT provide any remote control functionality itself, but rather is an "integration helper" utility that can install, view, and configure some remote control software products.

The STRCM can automatically check for, and start, a number of pre-configured service names on the remote computer prior to invoking the remote control software's "viewer" application. This allows for greater security, control, and flexibility. The STRCM can also stop the remote service after the viewer program has terminated, again allowing for increased security.

The STRCM is a FREE utility and full source code is provided (under GNU licensing provisions).

Downloading and Installation

To download the STRCM, visit:

http://www.systemtools.com/strcm_frame.htm

After downloading, run the setup.exe installation utility. The installation of the STRCM utility only creates an installation directory and copies files into this directory. There are not any registry changes, .dll changes, or system changes performed by installing the STRCM.

If you are using Hyena, install the STRCM into Hyena's installation directory. If you are not using Hyena, install the files into a separate directory. The STRCM utility is FREE. If selected during installation, the source code files for the STRCM will be installed into a \Source directory.

> Important Note: The STRCM is only meant to install a remote control software product on a REMOTE computer. If you want to perform a local installation, you may want to consider using the remote control software's default installation software, as this will provide for various uninstallation (Add/Remove Program), shortcuts, and other installation options that the STRCM may not support during remote installation.

After installation, review the STRCM Configuration information.

For a list of FAQs, see the FAQ section.

STRCM Configuration

The STRCM is configured through a simple text file with an .RCM extension. The format of the text file is a standard Windows .INI file format. Sample .RCM files for the VNC remote control software product is installed during the STRCM installation. It may need some modifications to configure an installation of VNC. If a remote control software program other than VNC is going to be used, the sample VNC*.RCM files and the information below can be used to configure a custom .RCM file. If the STRCM is being used with VNC, see the Quick Setup for VNC 4 section below:

Quick Setup for VNC 4.x Find any existing VNC 4.x installation directory, and copy the following files into a directory, either on your local computer or on a network share: winvnc4.exe wm_hooks.dll logmessages.dll vncconfig.exe Modify the SourceDirectory setting in the VNC4.RCM file to point to this directory. Modify any additional settings in the VNC4.RCM file to configure the STRCM utility for your environment. See the STRCM Configuration section below for more information on all of the configuration options.

Note: If using VNC 3.x or TightVNC, see the included VNC3.RCM and VNCtight.RCM files.

.RCM File Settings

The STRCM is configured through a text file with an .RCM extension. The format of this file is a standard Windows .INI file format. See the sample VNC.RCM file that is installed by default as a guide.

General Settings - [General]

> SoftwareType - The only supported setting for this value at this time is "VNC". Other values will be added as needed to support other remote control software product installations.

> Enabled - This setting should be set to a '1' to indicate that the .RCM file is "active". Set to a '0' to indicate that the .RCM is not enabled. This setting is only used by Hyena.

> MenuName - This value will be displayed by Hyena on the Remote Control menu for computer objects. It can be set to any text value to represent the configuration file options.

> AutoExecute - Set this setting to a '1' to force the STRCM to immediately execute the requested settings. This option only applies when the STRCM utility is run from the command line with all required parameters.

View Settings - [View]

> ViewerCommand - Set this setting to the name (and optionally the full directory path) of the viewer program for the remote control software. The symbol %computer% can be used to pass the host name to the viewer program. For VNC, this value is set to vncviewer.exe %computer%

> StartServiceBeforeViewing - Set this setting to a '1' to have the STRCM automatically start the remote control software service prior to executing the viewer. Set to a '0' to bypass starting any services.

> > Security Tip - Enable both StartServiceBeforeViewing and StopServiceAfterViewing for increased security.

> StopServiceAfterViewing - Set this setting to a '1' to have the STRCM automatically stop the remote control software service after the viewer program terminates. If enabled, the STRCM will wait until the viewer program process terminates. The STRCM utility window must be left open (executing) when this option is enabled.

> > Security Tip - Enable both StartServiceBeforeViewing and StopServiceAfterViewing for increased security.

> AutoInstallBeforeViewing - Set this setting to a '1' to have the STRCM automatically install and configure the remote control software prior to viewing. This option has no effect if the software is already installed, or if the STRCM believes that the software is already installed. See the Limitations section for automatic installation limitations.

> UnInstallAfterViewing - Set this setting to a '1' to have the STRCM automatically uninstall the remote control software after the viewer exits. See the Limitations section for uninstallation limitations.

> AutoTerminateAfterViewing - Set this setting to a '1' to force the STRCM to immediately exit after a "View" operation. This option only applies when the STRCM utility is run from the command line with all required parameters.

Installation Settings - [Install]

> EULA - This setting points to a text file for the End User License Agreement (or any other text file) that is displayed prior to installing the remote control software. The file must be a text file. If a directory path is not supplied with the filename, the current directory will be used for the file path.

> ServiceNames - This setting controls the name(s) of the services that the STRCM can either start, stop, or use for the service name when installing the remote control software service. If multiple names are to be used, separate each name with a semicolon, for example "WinVNC;VNC3;XWinVNC". When installing the service, the STRCM installation dialog will present these names in a dropdown combo box. When starting the remote control service, the STRCM will look for each name and attempt to start each service, until a matching name is found.

> > Security Tip - Modify the name of the default VNC service name for increased security.

> SourceDirectory - This setting determines the directory that is used to copy the files from for installation of the remote control software. The FileList setting contains the list of file names. This path can contain either a local path or remote network shared directory. If not supplied, the default working directory will be used. If only a directory name is supplied, then the default working directory will be used, plus the indicated directory path.

> DestinationDirectory - This setting specifies the directory to copy the files TO on the remote computer. The symbol %computer% can be used to substitute the host name. For example: \\%computer%\admin$\rc .

> > Security Tip - Choose a directory name that is not in an obvious location and named in such a way to indicate that a particular remote control software package is installed.

> FileList - This setting contains a list of file names separated by semicolons (;) that are copied to the remote computer for installation of the remote control software. The SourceDirectory setting is used for the location of these files. The files are copied to the DestinationDirectory setting.

> InstallService - Set to a '1' to enable installation of the remote control software as a service; set to a '0' to only copy files and set appropriate registry settings.

> ServiceAutoStart - Set to a '1' to enable the service to be set to Automatic startup; set to a '0' to create a service that requires starting Manually. This setting is only applicable if InstallService is set to a '1'.

> > Security Tip - For greater security, always set a remote control service for Manual startup.

> ServiceDisplayName - This setting controls the friendly display name used to display the service in Control Panel or other GUI programs. This setting is only applicable if InstallService is set to a '1'.

> > Security Tip - For greater security, choose a display name that does not indicate either a type of remote control service or that the service is not remote-control related.

> ServiceExeName - This setting controls the name of the executable program that controls the service. This setting is only applicable if InstallService is set to a '1'.

> > Security Tip - For greater security, the service executable name can generally be renamed to help disguise which remote control software is being used.

> RegistryKeyLocation - Change this setting to create the proper registry key path for installation and removal. If left blank, the default location for VNC3 will be used (VNC installations only). For example:

> > RegistryKeyLocation=Software\RealVNC\WinVNC4

VNC Options - [VNC Options]

> InstallServiceHelper - Set the setting to a '1' to have the STRCM automatically install the VNC "Service Helper" feature. This feature will set a special "WinVNC" setting under:

> HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

> For further documentation on the effects of this setting, consult the VNC documentation.

VNC Settings - [VNC Settings]

> During installation, the STRCM writes all of the settings in the VNC Settings section of the .RCM file by default into the remote computer's registry under:

> HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default

> The settings are written exactly as specified. Most of the settings in this section can be modified using the STRCM "Options" operation. However, any documented VNC setting can be manually entered into this section, which will then be written to the remote computer during either a View or Options operation. The default data type for all entries, is REG_DWORD. To change the default registry location, to specify additional settings in other registry locations, or to create non-REG_DWORD entries, see the Custom Registry Locations section below.

> For complete information on the behavior of these settings, see the VNC documentation for the particular version of VNC that is being used.

> Custom Registry Locations

> > To change the default registry location for all settings in the .RCM file, specify a custom registry location using the 'RegistryKeyLocation' setting as documented in the [Install] section above.

> > To create individual registry entries in other locations (other than the default location), or to change the registry data type, specify the registry path and optionally, the data type as follows:

> > Registry_Path\Registry_Value=DataType:Registry_Value

> > For example:

> > Software\RealVNC\WinVNC4\number_value=4
> > Software\RealVNC\WinVNC4\string_value=REG_SZ:this is a string value
> > Software\RealVNC\WinVNC4\binary_value=REG_BINARY:db d8 3c fd 72 7a 14 58

Password Options

> The "Password" value can be entered into this section as well. This value is set using text representations for each encrypted letter of the password. To get this value, use regedt32 on a computer that has a password set for VNC under:

> HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default

> Enter the value using the same hexadecimal representation of the password value that is displayed in regedt32. For example, the value of:

> Password=db d8 3c fd 72 7a 14 58

> ...will result in a password of "password".

> Important Note: Entering the password into the .RCM file directly is a security risk, however, as the password can be easily discovered and cracked, thereby allowing someone to know the possible password on computers where VNC has been installed. For maximum security, enter the password only during installation.

Supported Operations

> The STRCM utility supports the following operations:

View - The View operation will execute the ViewerCommand as specified in the configuration file. The StartServiceBeforeViewing, StopServiceAfterViewing , AutoInstallBeforeViewing , and UnInstallAfterViewing settings are also checked and acted upon when using the View operation.

Install - The Install operation is used when only the installation of the remote control software is needed, or to update the existing installation of the remote control software.

UnInstall - The UnInstall operation will remove all of the files and registry settings as specified in the .RCM file. See the Limitations section for uninstallation limitations.

Options - The Options operation will display a dialog for changing the settings for the remote control software, including for VNC, the password.

Start - The Start operation will start the remote control service.

Stop - The Stop operation will stop the remote control service.

STRCM program execution

The STRCM utility is executed by simply running the STRCM.exe program, which will prompt for the required parameters, including the configuration file, option (view, install, or settings), and host name.

The STRCM can also be executed with the following command line syntax:

STRCM
/rcm=[.RCM file path and name]
/host=[Host Name]
/cmd=[View | Install | Options | UnInstall]

For example:

> STRCM /rcm=d:\program files\STRCM\VNC\VNC.RCM /host=123.123.123.123 /cmd=View

Notes:

- If the path to the RCM file is not supplied, the current installation directory will be used for the default path.
- The host name can either be a computer name or tcp/ip address. Do NOT enter leading backslashes.
- The parameters can be supplied in any order.

STRCM Integration with Hyena

Hyena is a centralized system administration tool for management of Windows NT/2000 networks. Hyena can be used from any Windows NT, Windows 2000, or Windows XP computer. More information about Hyena is available at http://www.systemtools.com/hyena. One of the benefits of using Hyena and the STRCM utility together is that Hyena provides a variety of methods to display computers in its windows, thereby providing for one-click access to the STRCM for any selected computer object. Hyena therefore can become a centralized console for access to any remote control software product that is configured through the STRCM.

For each STRCM configuration file (.rcm), Hyena will add a context menu entry to the Remote Control menu for all computer objects (domain controllers, servers, workstations, etc.). The MenuName setting in the .rcm file is used for the menu title. Hyena will search for the .rcm files in the following locations (in this order):

- Shared Settings directory (Tools->Settings->Path to Object Manager...)
- Active user's profile directory (<profile directory>\application data\systemtools\hyena)
- Installation directory

Hyena will only include the .rcm file to the list of configurations if the Enabled setting in the .rcm file is set to a '1'; this is the default setting.

The current active .rcm files found can be viewed under Hyena's Tools->Settings->Remote Control menu. The STRCM configuration files can also be view or modified on this dialog.

To activate the STRCM utility for a selected computer in Hyena, right click, and select the desired remote control configuration from the Remote Control menu. Hyena will then run the STRCM utility by executing STRCM.exe, which must be installed in Hyena's installation directory. Hyena will pass the selected computer's path and the View option to the STRCM. If only the tcp/ip address is available for a computer, enter the computer manually into Hyena's Object Manager, and use the tcp/ip address for the computer's path.

The AutoExecute STRCM .rcm file setting can be used to cause the STRCM to immediately execute, rather than pausing at the main STRCM dialog. The AutoTerminate setting can be used to close the STRCM window automatically once the remote control's viewer has been executed.

Limitations

Installation Limitations

- The STRCM does not support loading a .reg file remotely into the remote computer's registry, so any .reg files that are copied to a remote computer will not actually be 'installed'.
- The STRCM's AutoInstallBeforeViewing feature is designed to detect if the main service executable name (ServiceExeName) is installed on the remote computer as indicated in the DestinationDirectory setting. If the remote control software was previously installed with a different configuration, the STRCM will most likely believe that the remote software is not installed, and will attempt another installation.

UnInstallation Limitations

- The STRCM is only designed to remove files and registry settings that are part of the STRCM installation procedure. For example, the only files removed are as specified in the FileList setting, and the location of these files are as specified in the DestinationDirectory setting. If the remote control software was originally installed using the manufacturer's original installation, items such as program icons, shortcuts, and Add/Remove Program entries will NOT be removed.
- The STRCM is only capable of removing registry entries that are installed into designated areas based on the remote control software being configured. HKEY_CURRENT_USER entries, for example, are not removed.

VNC Resources

Below are a collection of links to popular VNC products and packages:

VNC Home Page - The original one-and-only home page by the creators of VNC, AT&T Laboratories in Cambridge. Documentation, FAQ, downloads, and more are available here.

TightVNC - TightVNC is optimized to work over slow network connections and WAN links. In addition to bandwidth optimizations, TightVNC also includes many other improvements and bug fixes over the standard VNC build. Note that TightVNC is free, cross-platform and compatible with the standard VNC package.

TridiaVNC - Tridia Corporation has created both a free and "Pro" version of VNC. Site includes extensive support options, download links, and lots of information about VNC.

Chromatix - VNC version for Mac platforms.

FAQ

Why not provide your own remote control software instead of integrating with existing products ?

We felt that with the maturity and availability of a wide array of remote control (RC) software solutions, that developing yet another RC product would not be a good use of development resources. Many organizations have already standardized on an RC product, and increasingly, Microsoft has integrated RC into newer releases of Windows. Hyena already can invoke any external tool through its custom tools interface. The STRCM is simply a method that we can use to further integrate Hyena with existing RC products, while at the same time providing a standalone tool for more control over existing remote control software products.

Why VNC ?

We selected VNC because its the only (at least that we know of) free remote control (RC) solution available. Its also extremely popular and its free. Did we mention that its free ? Its also an open-source product, so others have taken it and modified it. See the VNC resources section for links on VNC-related sites and products.

The STRCM can in theory support any RC software solution, due to its flexible design. We are not able to redistribute or provide installation instructions or support for other RC software packages, as this may violate their licensing requirements.

What about VNC security ?

Installing any remote control (RC) software product on a computer potentially exposes that computer (and the organization that the computer belongs to) to additional security risks. However, properly managing how the RC software is installed and configured can help manage these risks. Depending upon which RC product is used, different techniques to manage security can be used.

The STRCM supports a number of techniques to help strengthen existing security for all RC products, including VNC. The STRCM can:

- Automatically install and set the password for VNC. This permits a consistent installation with known configuration options. The password can optionally not be stored locally in any configuration file, further increasing security.
- Automatically stop the VNC service when the viewer exits.
- Support renaming of the VNC service and support files.

Any organization that is using remote control software should thoroughly familiarize themselves with the security features and implications of using different remote control software packages.

Why is the STRCM available as open source ?

Portions of the STRCM require very specific functionality in order to correctly install VNC. In particular, the VNC password must be computed using a specific algorithm in order to encrypt the password correctly. Therefore, some source code routines from the VNC distribution were used for some portions of the STRCM. We thereby feel that it is desirable to make the STRCM product open source under the GNU licensing provisions. Also, this permits some organizations to modify the STRCM for their own specific needs. SystemTools Software Inc. is committed to respecting the contributions of others involved in the VNC project, and any organization that further develops or modifies the STRCM utility must do the same under the GNU licensing provisions.

What support options do you offer for the STRCM ?

SystemTools Software will offer support if there are specific identified problems with the STRCM. We also gladly accept feedback and suggestions on ways to improve the STRCM utility. Due to the variety of configurations possible with any remote control software product, we can't offer support for VNC, any VNC variation (Tridia, TightVNC, etc.) or any other remote control software product. All of these packages have some support options of their own.

Prior to asking for help or assistance with the STRCM, make sure that the remote control software product works independently of and from the STRCM. For support, send an email to support@systemtools.com or visit the Remote Control section of our online discussion board at http://www.systemtools.com/HyenaBoard

Why did you develop the STRCM using the Microsoft Foundation Class (MFC) library ?

Hyena (http://www.systemtools.com/hyena) was already developed using MFC, so we were naturally familiar with its use. Today, this is a very common framework, so the required .DLL files are usually already installed. Using MFC allowed us to develop the entire STRCM project in a couple of days. We chose not to use Unicode libraries only because of the inclusion of some non-Unicode functions from the original VNC code modules, and did not feel that a Unicode build would offer any significant advantages.