How the PowerBuilder environment is managed

PowerBuilder configuration information is stored in both the PowerBuilder initialization file (PB.INI) and the registry. When you start PowerBuilder, it looks in the registry and PB.INI to set up your environment.

About the registry

Some PowerBuilder features require the use of the PB.INI file, but many features use the registry for getting and storing configuration information. Normally, you should not need to access or modify items in the registry directly.

Information related to your preferences (such as the applications you have created, the way you have arranged your views in the painters, and the shortcut keys you have defined for PowerBuilder menu items) is stored in HKEY_CURRENT_USER/Software/Sybase/PowerBuilder/17.0.

Installation-related information is stored in HKEY_LOCAL_MACHINE/Software/Sybase/PowerBuilder/17.0.

About the initialization file

PB.INI is a text file that contains variables that specify your PowerBuilder preferences. These preferences include information such as the last workspace you used and your startup preferences. When you perform certain actions in PowerBuilder, PowerBuilder writes your preferences to PB.INI automatically.

Format of INI files

PB.INI uses the Windows INI file format. It has three types of elements:

  • Section names, which are enclosed in square brackets

  • Keywords, which are the names of preference settings

  • Values, which are numeric or text strings, assigned as the value of the associated keyword

A variable can be listed with no value specified, in which case the default is used.

Some sections are always present by default, but others are created only when you specify different preferences. If you specify preferences for another painter or tool, PowerBuilder creates a new section for it at the end of the file.

Specifying preferences

Normally, you do not need to edit PB.INI. You can specify all your preferences by taking an action, such as resizing a window or opening a new application, or by selecting Design>Options from one of the painters. If a variable does not appear by default in the options sheet for the painter, you can use a text editor to modify the variable in the appropriate section of PB.INI.

Editing the initialization file

Do not use a text editor to edit PB.INI or any preferences file accessed by Profile functions while PowerBuilder or your application is running. PowerBuilder caches the contents of initialization files in memory and overwrites your edited PB.INI when it exits, ignoring changes.

Where the initialization file is kept

PB.INI is installed in the same directory as the PowerBuilder executable file, but is copied to the C:\Users\userName\AppData\Local\Appeon\PowerBuilder 17.0 for each PowerBuilder user the first time the user opens PowerBuilder. PowerBuilder subsequently uses the PB.INI copy each time the same user starts an instance of PowerBuilder IDE.

Telling PowerBuilder where your initialization file is

You can keep PB.INI in another location and tell PowerBuilder where to find it by specifying the location in the System Options dialog box. You may want to do this if you use more than one version of PowerBuilder or if you are running PowerBuilder over a network.

To record your initialization path

  1. Select Tools>System Options from the menu bar.

  2. On the General tab page, enter the path of your initialization file in the Initialization Path text box.

    PowerBuilder records the path in the Windows registry.

How PowerBuilder finds the initialization file

PowerBuilder looks in the Windows Registry for a path to the initialization file, and then looks for the file in the directory where PowerBuilder is installed. If PowerBuilder cannot find PB.INI using the path in the Registry, it clears the path value.

If the initialization file is missing

If PowerBuilder does not find PB.INI when it starts up, it recreates it. However, if you want to retain any preferences you have set, such as database profiles, keep a backup copy of PB.INI. The recreated file has the default preferences.