1. A method for performing software discovery by an installer controller comprising: detecting, at a computer, an attempt by a software installer to execute on the computer, wherein during execution, the software installer modifies software on the computer; querying a Software Asset Management (SAM) computer server for an approval status corresponding to a software package provided by the software installer; executing the software installer upon receiving the returned approval status; aggregating a result from the execution of the software installer based on the software installer modifying the software on the computer; and updating a discovery software signature on the computer when the returned approval status is marked as known.