Files of software to be installed in a computer are packaged as follows. A
source file is prepared to contain at least a declaration of an array of
sufficient space to accommodate the files to be packaged. The source file
is compiled into an executable file. Thereafter, the array in the
executable file is overwritten with data from each file being packaged.
Depending on the embodiment, the address of where each file begins in the
executable file and each file's name may be stored in the same executable
file or in a different file. The stored file names are used to identify
an address of a file from its name, when the named file is first
accessed. In several embodiments, the operating system loads the
executable file as a library that is automatically shared by multiple
instances of the application (or by multiple applications), to
efficiently use physical memory.