Search progress.ini and the Registry at startup
- Last Updated: January 16, 2024
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
At startup, OpenEdge 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.
-basekey and -ininame parameters
can only be used on the command line. You cannot use them within
a parameter file.The following illustrates the path that OpenEdge follows when searching for environment information in Windows.

When OpenEdge 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:
-
The current working directory (as defined in the Working Directory field in the Program Item properties sheet for Windows)
- The
WINDOWSdirectory - The directory that contains the OpenEdge executable
- The user's PROPATH
This search order fosters deployment flexibility because you can:
- Create a customized progress.ini file
- Place the file in a consistent place on every machine
- Allow all users to share the same file on a network
After OpenEdge locates the environment information, OpenEdge reads the values for
DLC,PROMSGS, and other environment variables. For each variable, OpenEdge first searches the location where it found the environment information. If OpenEdge does not find the variable, it searches for an operating system environment variable.
OpenEdge expects to find all environment settings in the same
location it finds the environment variables. There is one exception: OpenEdge 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 OpenEdge 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 ABL 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 OpenEdge startup command (
prowin32) used for the current session did not include the-basekeyparameter. - OpenEdge found the environment information in the Registry
at startup or at the last
LOADstatement.
The ABL 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.