1. In a mobile computing system comprising a software image that includes operating system files and other associated software application files, a method for updating a portion of the files in the software image, the software image being stored in embedded system memory, the method comprising: building a self-describing package, the package corresponding to part of an operating system image and containing files and registry settings, the package comprising a package manifest file that describes the binary structure of the image into which the package will be incorporated, the package including at least some language-independent executable code files configured for processing in any language that are separate from language-dependent data files, such that at least some of the executable code is independent of language-specific processing; generating a build manifest file that specifies the file contents for the self-describing package; generating a device manifest file that describes a set of information about the package including dependency and package settings priority information for the mobile computing system, the device manifest file being stored in the self-describing package and being configured to receive list and attribute information from the build manifest; inserting one or more feature handles into the generated device manifest file, the feature handles specifying one or more software features that are to be included in the package such that those individual files, registry settings and libraries comprising the software features that are mapped with this feature are automatically included in the device manifest file, wherein individual feature mapping is omitted; associating information in the package manifest file, the build manifest file and the device manifest file, including the inserted feature handles, with the self-describing package that describes the contents of the package such that an installation mechanism can determine how to install the package to a device; and installing the files of the self-describing package according to the corresponding manifest files, wherein only those files identified in the self-describing package are overwritten in the software image.