This sounds like a great idea - we are one of those mentions who uses a very large Powershell script to target, remove and the re-add licensed products as needed on each user PC. We aren't able to get this new XML code working however with a local/offline installation source. Below is the Add section of the XML we are using - we run setup.exe /download with this XML section and then setup.exe /configure. If we try this out on a system with OPP already installed (/configure option) and we install Project Pro 2010, it updates OPP to the newest build which was in the local/offline install folder, but then removes Project Pro, however neglects to replace the product with the CTR version. Our understanding from this article that the MSI version of Project will be removed and replaced with the CTR version (if detected) - is that accurate? (Note that I replaced < with } and > with } , to each line so I could post snippet here as HTML code isn't permitted): {Add OfficeClientEdition="64" Channel="Broad" ForceUpgrade="TRUE"} {Product ID="O365ProPlusRetail"} {Language ID="en-us" /} {ExcludeApp ID="Groove" /} {ExcludeApp ID="Teams" /} {/Product} {Product ID="VisioProRetail" MSICondition="VisPro,VisProR"} {Language ID="en-us"/} {Language ID=" MatchPreviousMSI"/} {ExcludeApp ID="Groove"/} {/Product} {Product ID="ProjectProRetail" MSICondition="PrjPro,PrjProR"} {Language ID="en-us"/} {Language ID=" MatchPreviousMSI"/} {ExcludeApp ID="Groove"/} {/Product} {/Add}