ABF CD Shell
ABF CD Shell is a constructor set for fast creating of different CD, DVD, and other catalogue shells.
Configuration file
Content and behavior of the shell is configured in one file. The configuration file is a usual *.INI file with the same name as program's EXE. Config contains information about each item of catalogue and associated to the item buttons. Each item and button have own group in the configuration file.
General settings
Program settings are stored in the [Main] section, following values are allowed:

- Name - Name of program is shown in program caption and about dialog
- Icon - File name of icon is shown in caption task bar, and task list
- Version - Version of program (1.0.3.35 for example)
- Author - Author or company name, is shown in about dialog
- Copyright - Copyright text, is shown in about dialog
- Web - URL of web site or page is used in Web Site internal command and in the About dialog
- Email - e-mail address is used in the Send email internal command and in the About dialog
- RegistryKey - Name of key in the registry to save settings ("SOFTWARE/ABF software/ABF CD Shell" by default)
- Groups - List of groups in the side bar (names)
- Items - List of visible items (section names)
- DefaultGroup - Selected group by default (name)
- DefaultItem - Selected item by default (section name)
- Upgrade - Upgrading from the web is enabled if value is not 0
- Maximized - Program window is maximized on the first run if value is not 0

Example:
=================================================
[Main]
Name=ABF-SOFT.COM CD-ROM (Limited edition)
Version=1.0.0.1
Author=ABF software, Inc.
Copyright=Copyright © 2000-2003 ABF software, Inc.
RegistryKey=SOFTWARE/ABF software/ABF-SOFT.COM CD-ROM
Groups=Programs, Games
Items=ABF OE Backup, ABF Password Recovery, SeaBattle
=================================================
Internal commands
You can use following internal commands for any item or button by index:

1. Context help
2. About dialog
3. Web site
4. Send email
5. Interface options
6. Upgrade

Items
Item is a base grouping element of your catalogue, let say it is an article in usual magazine. Each visible item has own icon in the side bar and menu item in the main menu. Item is visible when its name is present in the [Main].Items list. Every item performs some command or shows an according information when the user clicks on the icon or menu. Item has following properties:

- Group - Name of parent group, must be same as specified in [Main].Groups list.
- Index - Index in the group, node will be added to the end if Index is not specified.
- Type - Type of item:
  1. Normal, shows according information (default)
  2. Internal, performs some internal command (Interface options, About, Help manual)
- Command - index of internal command for Type 1
- Icon - File name of icon is shown in the side bar and header. Relative or absolute.
- Caption - Name is shown in sidebar and header
- Hint - Hint of the item in the side bar
- Description - File name of the according information (description), *.HTML or *.TXT.
- Buttons - List of buttons for current item (section names)

Example:
=================================================
[ABF OE Backup]
Group=Programs
Icon=Programs\abfOutlookExpressBackup\main.ico
Caption=ABF Outlook Express Backup
Hint=Backup and synchronization tool for Outlook Express
Buttons=Install, License, ReadMe, Buy, Register, Help
[SeaBattle]
Group=Games
Caption=SeaBattle
Buttons=Run, License, ReadMe
[SomeHelpItem]
Group=Help
Command=0
=================================================
Buttons
Buttons perform some actions or commands relative to the associated item (buy, order, preview, and so on). Each visible button is shown in the toolbar. Button is visible when its name is present in the [Item].Buttons list. Button has following properties:

- Type - Type of button:
  1. Normal, runs some file (default)
  2. Internal, performs some internal command (Interface options, About, Help manual)
  3. Dropdown commands list, commands are taken from some config section
  4. Dropdown file list, runs files are matched given mask
- Caption - Button text
- Hint - Hint of button
- Command - file, an index value of internal command, name of command group, or file mask depending on Type

Format of command section for Type 2 is Caption=Command.
Example:
=================================================
[ABF OE Backup.License]
Type=0
Caption=License
Command=program\ABF Outlook Express Backup\License.txt
[ABF OE Backup.Help]
Type=1
Caption=HelpManual
Command=2
[ABF OE Backup.Install]
Type=2
Caption=Install
Hint=Install application
Command=ABF OE Backup.Install.Commands
[ABF OE Backup.Install.Commands]
EXE file=programs\ABF Outlook Express Backup\abfOutlookExpressBackupInstall.exe
ZIP file=programs\ABF Outlook Express Backup\abfOEB.zip
[ABF OE Backup.Register]
Type=3
Caption=Register
Command=programs\ABF Outlook Express Backup\Keys\*.key
=================================================