The message compiler (MC.EXE) converts message text files into binary files suitable for inclusion in a resource script (.RC file). The resource compiler is then used to place the messages into the resource table for an application or DLL.
For applications performing event logging, the messages are typically placed in a DLL that contains nothing but the message table. This resource-only DLL is registered by the application as the source of message text for the events that it logs. The application then uses the event logging functions or the FormatMessage function to retrieve and use the message text.