There are four phases in the build time components of the WiX toolset. These phases are equally distributed across
The WiX toolset compiler,
candle.exe, executes the first two phases.
Preprocessing - the preprocessor processes the XML "processing instructions" (i.e. ) and modifies the provided .wxs file in memory.
Compiling - the compiler takes the output of the preprocessor and digests the content into a form used by the next phase called an: object file or .wixobj.
The WiX toolset linker,
light.exe, executes the last two phases.
Linking - the linker takes the provided object files and determines which set should be included in the final output by walking references.
Binding - the binder takes the output from the linker and gathers the necessary data from the file system (including the shipping file content) and creates the final output.
Of the four phases, the binding phase is the most processor and disk intensive phase.