How can I sequence a custom action in a merge module so they are pulled into the .MSI in a specific order?
In order to sequence the custom actions to come into the .MSI script correctly, you need to first determine what sequence number the action that you are placing the custom action after. You can see what the sequence of InstallFiles is by going to Setup Editor and checking the InstallExecuteSequence table. Search for InstallFiles, then go to that row to the Sequence column. The sequence for InstallFiles is 3968.
In the Location tab of the custom action in the merge module you will see a Sequence Number field. If you enter number that falls between 3968 - InstallFile and 4040 PatchFiles (the next number in the sequence), they will go into the .MSI in that order.
So custom action A would be 3970, custom action B would be 3971, custom action C would be 3972 and so on.