The registry stores the uninstallation information in the key 'HKEY_LOCAL_MACHINE\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall', I presume you could trawl through the list of sub-keys to get a list of applications that are registered as installed on the system. Other than that I'm not aware of a way of detecting whether a program has been 'installed' or not, without the registry mechanism. Hope this helps. Alan. P.S. note that you'll only get the path to the UNINSTALL.EXE, but I'm sure you can strip the path down to find its root folder for searching. Not all programs keep the uninstall.exe in the actual installation folder, but if you extract the program name and perhaps search for it in the registry you may find it...who knows, it certainly isn't simple :(