I love PSADT and we have it doing lots of fun tricks. That said, rather than sourcing a big workaround here, do it natively or use a different psadt function. I'm typing on a phone so please forgive bad syntax.
To wit:
I'd put the old msi in the SupportFiles folder.
Then, I would make a pre-install step that checked for the existence of the old app, whether by wmi query or just a test path or file version or date or reg path or whatever feels best.
Then either:
Execute-Msi -action "uninstall" -path "$dirSupportFiles/msiname.Msi"
Or just do it with native powershell, something like
Start-process "msiexec.exe" ArgumentList "/x $dirSupportFiles/msiname.exe /qn /l*V c:\logpath\log.log"
Either way reference the old msi in the package contents. Wee bit sloppy but then you don't need to use supersedence or guid's or worry about cached msi availability or distribution point content of retired apps or any of that mess.
To wit:
I'd put the old msi in the SupportFiles folder.
Then, I would make a pre-install step that checked for the existence of the old app, whether by wmi query or just a test path or file version or date or reg path or whatever feels best.
Then either:
Execute-Msi -action "uninstall" -path "$dirSupportFiles/msiname.Msi"
Or just do it with native powershell, something like
Start-process "msiexec.exe" ArgumentList "/x $dirSupportFiles/msiname.exe /qn /l*V c:\logpath\log.log"
Either way reference the old msi in the package contents. Wee bit sloppy but then you don't need to use supersedence or guid's or worry about cached msi availability or distribution point content of retired apps or any of that mess.