When an computer application is finished and distributed, an end user can launch the program by clicking on a single icon. During that application's development, software engineers use a number of different resources that require highly technical processes to launch and test the program. The job of an application packager is to take the different components that constitute a program and make it so that the end user can easily install and start the application.
An application packager's first task is to identify all the libraries and files that a program needs to run successfully. These can take the form of software libraries, database files, compiled source code files, and graphical components. Some of these files will reside in the program's directory but other resources, such as database servers or system graphics engines, have to be installed as separate software on the end user's computer.
The application packager gathers all the files that do not need to be installed as separate system software into a single folder. In the development process, programmers can call these resources from anywhere on their workstation, but end products need a uniform configuration. By condensing all the files into a single directory, the application packager ensures that all of the code in a program contains the correct directory paths to access those resources.
After the application packager consolidates all the files a program needs to run, he or she prepares the directory itself for the end user. This involves replacing default system icons for executable files with the icons graphical artists designed specifically for the program, and including documentation files in the directory. After these components are ready, the packager has to configure an installer for the application.
An application packager uses software specifically designed to create and automate installation processes. This involves:
- specifying what software components must be present on the system in order for the program to run
- loading the files necessary to add that software in the case that it is absent from the system,
- loading the directory containing all the application's files.
The last step is for the packager to test the installer on machines representative of what customers will be using to ensure that the process works.
Application packagers require backgrounds in computer science and programming. They do not write major parts of the program's source code, but still need to understand the software development cycle and how to edit source code. This is necessary in order to ensure that the source code accurately reflects the final file layout of the program's directory.