In this chapter, we will cover the following recipes:
Creating a C# custom action and referencing it in your project
Passing information entered by a user to a deferred custom action
Preventing custom action data from being displayed in the install log
Running an executable as a custom action without showing a console window by using CAQuietExec
Testing rollback custom actions with WixFailWhenDeferred