I was hoping to get the PSADT error message as to why Execute-MSI can’t just $ContinueOnError.
Since Execute-MSI calls Execute-Process, maybe try to cut out the middle-man and call Execute-Process directly.
Also try not to use $ContinueOnError and $PassThru on the same command. I think $PassThru automatically continues regardless of $ContinueOnError. So this should work:
it doesnt happen all the time it has to do with password protected installs and several past passwords so some exit 1603 just means bad password so I want to ignore and go to the next line…etc