in reply to
Detecting Installed Softwares on PC
A commerical off-the-shelf product I used at a previous job searched the entire hard drive for all .exe files, and then compared their names, sizes, (and to a lesser degree - paths), to a database of known products.
Of course, you could get around that by renaming the file in most cases. But it was highly effective for that company.
If you give a man a fish he will eat for a day.
If you teach a man to fish he will buy an ugly hat.
If you talk about fish to a starving man, you're a consultant.