This is just a quick rambling thought I had to write down before I forgot to do so.
I’ve run into several situations recently where a customer was deploying an application to upgrade and replace a previous version of the same application. In two of these cases, it was pushing Office 365 to replace Office 2013 ProPlus.
First scenario, the user has Visio 2013 Pro installed with a MAK along with Office 2013, using KMS. The solution that seemed to work best was to write a script (doesn’t matter what language as long as you can deploy it), to detect Visio 2013, deactivate the license using ospp.vbs /unpkey, then uninstall Visio, uninstall Office 2013, install Office 365 via the Click-Once package, then reinstall Visio 2013 and apply the MAK again using ospp.vbs /inpkey:xxxxx and ospp.vbs /ato, then spit the final exit code back out at the end for CM to fetch and report up the chain.
Second scenario, the user built the Office 365 deployment properly and tested it. Then created the App and Deployment in CM 2012 R2. But in the Detection Method they entered the ProductID (GUID) for Office 2013 ProPlus, because they thought it meant it would “detect the old version and remove it”. Yeah, no. So the first batch of deployments all showed they failed because the deployment “couldn’t detect the product installation”, or something to that effect. Once they entered the Office 365 ProductKey it straightened things out. Of course, they could’ve used a File or Registry Key/Value for this, but whatever.
/end-thought / back to exam studying