Check It Out! Debug Mode or Retail?

Dear Dr. GUI:

Hopefully this will be an easy one for you. What is the difference between the "Retail" and "Checked" versions of software? I just received my Windows NT 4.0 update and it has both. Which should I install?

TIA,

Frank Feingold

Dr. GUI replies:

Which version you install depends on whether you need to run medical tests on your system.

"Checked" build means the software is built for the debug mode and will contain debug symbols, diagnostic messages, assertions, and so on. A "Retail" build is a release build, so the debug symbols will be stripped and any diagnostic messages and assertions will not be included (the latter is usually conditionally included, depending on preprocessor macros).

The most common example is the Windows NT operating system we ship to developers—which comes in both Retail and Checked versions. While end users should always install the Retail builds, developers commonly install the Checked builds on at least one machine for kernel debugging purposes.

Note that with Windows NT, we strip the debug symbols from the Retail builds and ship these symbols separately on the SDK (as .DBG files), so it is not always necessary to install the Checked builds just to perform symbolic debugging on Windows NT system components. A debugger, such as WINDBG, can perform Windows NT symbolic debugging using the symbol files. However, if more detailed kernel-level debugging is required (including a need to see kernel debug diagnostic messages and assertions), the Checked build must be used. The Checked builds are always bigger and slower than the retail builds.