We use deferred custom actions to perform actions and manipulate system files. Here's an example where I learned something new about these actions and Installshield \ VB Script.
One of my applications needs to append a value to the Autoexec.bat file, and we use VBScript to do this work. I wrote a custom action to append a value in the .bat file. Since the file is present in "c:\" I used "WindowsVolume" but it was not recognized in the deferred custom action. This is because deferred custom actions doesn't recognize installer properties like SourceDir or WindowsVolume.
To solve this issue, here are the steps we took. This is not an issue if you use WiseScript. But not all projects use WiseScripts.