Most software inventory systems install an agent or client on the machine, which communicates with a backend system, running from a datacenter or cloud based service. Another method is an agent-less method, which accesses all the machines through the local network. These methods, however, will usually miss applications that the user has installed themselves, usually without administrative rights. Some applications like Google Chrome and Skype will be installed on the user’s own profile directory and not be reflected on the system as a whole.
From the software inventory’s perspective, these applications do not exist because they do no register on the global list of applications. This can cause problems, for example in a licensing context, since the application may be free to use for personal and individual use, but not in a corporate setting.
These kinds of applications can cause problems in software inventory contexts and are a typical shortcoming of many of the solutions available.