Make Binary Image Tool (Makeimg.exe) (Compact 2013)


The Make Binary Image tool (Makeimg.exe) calls a number of programs and batch files in the process of making the run-time image.




The environment variables in the binary image builder file (.bib), file system file (.dat), database file (.db), and registry file (.reg) help determine how Makeimg.exe builds the run-time image.

Makeimg.exe performs all processing in the %_FLATRELEASEDIR% directory. After processing, the Ce.bib file defines which binaries and files are to be included in the run-time image. By default, the run-time image is named Nk.bin.

If you have modified and built files in your OS design, you can copy these files to %_FLATRELEASEDIR% and then run Makeimg.exe to include these files in the run-time image. Including modified and built files in the run-time image can decrease time that you spend running builds of your entire OS design.

Makeimg.exe calls the following tools:

  • The NLS Compression tool (Cenlscmp.exe) enables National/Regional Language Support (NLS) compression. Cenlscmp.exe combines the settings file Nlscfg.out and the input file Nlssrc.txt to build the output file Wince.nls in the %_FLATRELEASEDIR% directory.

  • The File Merge tool (Fmerge.exe) merges settings files to create four initialization files, which are created in the %_FLATRELEASEDIR% directory. Fmerge.exe also includes settings files from dependent projects - for example, the Wceshell or Wceshellfe project.
    If the settings files for the dependent projects are defined in the _DEPTREES environment variable, and if they also exist in the %_FLATRELEASEDIR% directory, Fmerge.exe merges them into the appropriate initialization file.
    The following table shows the original files and merged initialization file for each file type.

    Original files

    Merged initialization file

    Common.bib, Config.bib, Project.bib, Platform.bib

    Ce.bib, which identifies all of the files to combine into the run-time image.

    Common.reg, Project.reg, Platform.reg

    Reginit.ini, which provides a collection of registry entries for the run-time image.

    Common.dat, Project.dat, Platform.dat

    Initobj.dat, which provides a description of the directory and file locations for the run-time image.

    Common.db, Project.db, Platform.db

    Initdb.ini, which defines the creation of any databases in the object store.

  • The Registry Compression tool (Regcomp.exe) performs registry compression by reading Reginit.ini and compressing it into a binary registry file called Default.fdf, which is eventually included in the run-time image. Default.fdf is always loaded on a cold boot. The Ce.bib file references Default.fdf, which then initializes the system registry on the target device.

  • The Resource Update tool (Res2exe.exe) replaces the resources in the specified .dll, .exe, or Control Panel (.cpl) files with the appropriate resources for the language specified by the LOCALE environment variable.

  • The Text to Unicode tool (Txt2ucde.exe) converts any ASCII text strings in Initobj.tmp, which was created by Fmerge.exe, to Unicode text strings and creates the file Initobj.dat, which contains the Unicode conversion.

  • The ROM Image Builder tool (Romimage.exe) reads the Ce.bib file to determine which binaries and files, located in %_FLATRELEASEDIR%, to include in the run-time image, including how they are stored in memory.
    The Ce.bib file also lists the following processed files: Wince.nls, Reginit.ini, Initobj.dat, Initdb.ini, and Default.fdf.
    Then, Romimage.exe combines the binaries and files into the run-time image, which is usually called Nk.bin unless specified otherwise in the [Memory] section of the Ce.bib file.

Error Messages

The following two messages appear if the LOCALE environment variable was not set or an incorrect setting was used:

  • MAKEIMG FAILED: LOCALE variable is missing or invalid
  • MAKEIMG: res2exe FAILED: LOCALE variable was not set

See Also


Cvrtbin Tool


ROM Run-Time Image Creation

Other Resources

Build System Command Line Tools
Building a Run-Time Image That Supports Standalone Profiling