Inventory Solution can gather the required hardware data.
As normal users are not able to uninstall programs, the error warning they receive maybe ritten to the event logs. If this is the case you could use custom inventory to gather this information.
An automation policy could then be used to send an email if it is triggered based off of the required criteria.