I am writing a Suite installer that installs multiple basic msi's for different feature sets. I am having some issues where one of the msi installs fails because of some dism functions not installing correctly and its rolling back the entire Suite install.

What i want to do is IF one of the msi components fail to install, i want to catch the failure and give the customer the option to either continue the install(without the failed component) or stop/rollback the install so far. I cant figure out how to catch the error codes from the msi inside of the Suite project.