File structure of BrowserBob applications

Applies to:
Building


Description:

All BrowserBob applications except the SQuid ActiveX are using the same file structure during runtime. No matter if they have been generated as single executable program, setup program, raw files or screensaver application.

The internal program structure is the following:

 

In the working directory (the root folder of the application) you find the following files and folders:

ApplicationName.exe (runtime executable of the application)
Config.BOB
(BrowserBob configuration file with detailed application settings)

Sounds (folder containing all sound files assigned to your buttons or dialog)
Graphics
(folder containing all graphics of your objects, interface graphics,

button graphics, ... The naming of graphics is independent from the project names in BrowserBob's naming structure)

Additional (contains all files and folders, that have been added to your project

via View -> Additional files)
 

 

This is the internal file structure of any BrowserBob application during runtime. It reflects the structure of an application created with the Raw files method.

 

TIP: In case you want to access the actual files of your own project, click the Build button, choose Raw files, make the settings and finish your application. The destination folder will contain just these files.

 

How does this relate to the different application types generated by the build method?

 

Executable: the single executable file generated by this method is a selfextracting exe file, which contains all these files and extracts its contents to a temporary directory when launched. When the application is terminated, these temp files will be deleted again. The process is done in the background. The application does launch as if it would be just a single exe file. The user will not be asked to extract any files nor will he get any notice before the program is launched.
 

Program implications: single executable files are not able to link to local files other than the ones added under Additional files (files packed into the application). As relative links require the working directory as a starting point, you can only link to additional files, as they are placed in a subdirectory of the application. Remember, the files will be executed in a temporary directory on the users computer. You may just link to external files, if you know the exact full path, or if you know where they are placed, seen from the users temp directory.

NOTE:
knowing this, it is clear that the executable method is not suitable for professional CD/DVD projects with lots of content for the following reason. All the content would have to  be packed into the single exe file, and thus needs to be unpacked when launched. In case of huge data amounts, this will take a while and may be disturbing for the user. Use the Raw files method for multimedia CD/DVD projects.

 

TIP: if you are unsure if the amount of additional files you used is still suitable for a single executable, just create it and test its launching time to get an idea.

 

Setup: the setup method generates a single executable setup.exe program, which installs all the files - following the above mentioned file structure - into a directory of choice on the users computer. After setup has completed, you will find the above file structure in the installation folder.

 

Program implications: in case of the setup option, as soon as installed, the programs working directory will be the installation folder, where the runtime executable is located. After the setup process, nothing needs to be extracted anymore. This means, that in case of bigger amounts of additional files, applications will launch quicker, as they have direct access to their assets in the installation folder.

 

TIP: if you are unsure, which build method to use, test your application in several ways, especially if you do not know how your additional files will affect the launch of a single executable, just test both ways to find out which method is suitable for you.

 

Raw files: this method creates the above mentioned file structure and leaves the user deployment /installation to you. For distribution of the program, you need to either wrap all the files and folders using any installation or setup program, burn it on CD or include it into existing file structures.

 

Program implications: this method is especially suitable for CD/DVD projects, where you want to create an open file structure, which enables the program to access all its assets separately on the disc drive, without caching to the hard drive. Additionally it enables you to create relative links and logic accessing any files on the disc, which have not been added under Additional files. As the working directory of the application will be the CD drive in this case, you can use standard links with <_CurrentDir_>, to access any folder or file on the CD (see linking files for more).

 

 

Related topics:

 

Finish your application - the build function