Rob Shearman : msi: Rewrite the second loop in ACTION_FinishCustomActions so that it always terminates .