Using DTF i can get the installed product fine using the following code.
var product = (from p in ProductInstallation.AllProducts
where p.Publisher == CompanyName && p.ProductName == ProductName
select p).FirstOrDefault();
But the properties i want to update don't have a setter. Like the Version. Everything else in DTF seems to be against an MSI not an installed product