Action start <time>: InstallValidate.
MSI (s) <process info>: Feature: Simple; Installed: Absent; Request: Local; Action: Local
MSI (s) <process info>: Component: Simple7890123456789012345678901234567890123456789012345; Installed: Absent; Request: Local; Action: Local
MSI (s) <process info>: Component: __Simple789012345678901234567890123456789065; Installed: Null; Request: Local; Action: Local
Windows Installer performs disk costing to determine the amount of space required for the setup. It associates cost at the component level. The cost associated to an individual component is based upon the files that it installs and the Directory_ reference. However, there are cases where a component can actuall install resources into locations other than the Directory_ reference. In order to account for that, and to more accurately adjust costing when a Directory location changes (such as when the user alters the InstallLocation), the Installer uses a mechansim called cost-linking. For each alternate directory for the component, the Installer creates a new temporary component, called a subcomponent. The format of the component is a double under bar prefix (__) followed by the first 40 characters of the component name followed by a number.
Cost-Linking is used to account for the following tables:
So, for example, let's look again at the InstallValidate action dump from above for an example setup where the component installs both a file and a registry key:
Content credit also belongs to