Share via


Win32 Resource Configuration

Resource configuration, introduced in Windows Vista, provides a robust means for the resource loader to identify Win32 resources associated with a particular portable executable. Specifically, it associates the collection of resources for a language-neutral (LN) file, many of which reside outside that file in language-specific .mui files, with the LN file. This type of association allows you to add resources for an additional language to an application without any need to recompile or relink the application.

MUI-specific Win32 resource configuration allows you to specify the resource types and items to keep in the LN file as non-localizable data, and the resource types and items to localize and store in .mui files. Resource configuration also allows you to specify whether the ultimate fallback resources for your application reside inside the LN file or in a separate .mui file.

The Win32 resource configuration mechanism associates each .mui file with a particular version of an LN file based on a checksum. This number is commonly derived as a standard checksum over the resources in the .mui file for English (United States).

Your application can calculate a checksum from the major version number of a file, taken from the version resource, and the file name. This checksum value should not change between RTM and service pack versions of the same component. The application can calculate a service checksum from the minor version number of a file and the file name.

If using the MUI-specific Win32 resource technology, you can use a resource configuration file to specify a checksum value that is always used. For more information, see Preparing a Resource Configuration File.

The data association between an LN file and its .mui files is made by resource configuration data located in an RC Config section of each file. This data includes checksum data, which allows the resource loader to verify that the files hold the same version of the required resources. The resource configuration data is reflected in a public, human-readable form in an XML resource configuration file. For more information, see Preparing a Resource Configuration File.

The resource loader uses the resource configuration data to verify that a particular .mui file is correctly associated with a specific version of an LN file. It can refuse to load an inappropriate resource file if the association is not established.

The RC Compiler and the MUIRCT utility both provide mechanisms for building an LN file and associated .mui files. Each utility has a command line option that allows you to specify a resource configuration file. Use of the file allows more control over the splitting of resources than can be optained using the regular command line switches of these utilities. However, even if you do not provide a resource configuration file as an input, the LN and .mui files produced by these utilities contain resource configuration data.

Note: MUI requires a specific relationship between the path of an LN file and the paths for its associated .mui files. For more information, see Placing and Loading Win32 Resource Files.

About Multilingual User Interface