|Deferred Custom Actions|
Deferred custom actions are the opposite of immediate ones and must be scheduled between "InstallInitialize" and "InstallFinalize".
They have limited access to state information and properties and so information needs to be passed to them via the Windows Installer "CustomActionData" property. They also can't dynamically update the "executing" msi.
Deferred custom actions are executed as part of a transaction and so you should generally add commit and Rollback support for any changes the custom action is making. Because this supporting code is hard to get right (its difficult) you should generally use standard Windows Installer functionality where possible.