Progress
Client Deployment
Guide


Searching progress.ini and the Registry at Startup

At startup, Progress searches for a Registry location, a progress.ini file, or both. The particular search path depends upon the parameters you specify with the prowin32 command, particularly the Registry Base Key (-basekey) and Initialization File (-ininame) parameters. You can use these parameters to create a more efficient search at startup.

NOTE: The -basekey and -ininame parameters can only be used on the command line. You cannot use them within a parameter file.

Figure 5–1 illustrates the path that Progress follows when searching for environment information in Windows.

Figure 5–1: Windows Environment Information Search Path

When Progress does not find environment information in the Registry, or when it was started with the -basekey INI startup parameter, it searches through directories for a progress.ini file in the following order:

  1. The current working directory (as defined in the Working Directory field in the Program Item properties sheet for Windows).
  2. The WINDOWS directory.
  3. The directory that contains the Progress executable.
  4. The user’s PROPATH.

This search order fosters deployment flexibility because you can:

After Progress locates the environment information, Progress reads the values for DLC, PROMSGS, and other environment variables. For each variable, Progress first searches the location where it found the environment information. If Progress does not find the variable, it searches for an operating system environment variable.

Progress expects to find all environment settings in the same location it finds the environment variables. There is one exception: Progress searches HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE first when it starts without the -basekey parameter and finds the environment information in the Registry. If Progress writes a value to the Registry, however, it will always write it to HKEY_CURRENT_USER. This allows multiple users of a single machine to customize settings individually. The environment setting location could be either a Registry key or an initialization file, but not both.

The Progress 4GL GET-KEY-VALUE statement also searches for user environment information. The GET-KEY-VALUE statement searches either the Registry or a progress.ini file, but not both. When GET-KEY-VALUE searches the Registry, it searches both of the HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE keys if the following conditions are true:

The Progress 4GL PUT-KEY-VALUE statement writes to the location where the environment information was found at startup. If that location is the Registry, and if the prowin32 command did not include the -basekey parameter at startup, the PUT-KEY-VALUE statement writes to the HKEY_CURRENT_USER key and not to the HKEY_LOCAL_MACHINE key.


Copyright © 2004 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095