We recently faced the problem of needing to detect user level installations of software on Windows operating systems. To resolve this, we’ve developed a plugin for the OCS Inventory agent.
To shortly explain:
For instance some programs as DropBox and Chrome, can be installed at user level (don’t have to be installed globally within the operating system). This installations, until now, were not detected by standard OCS Inventory installation.
In order to fill this gap, we developed a Visual Basic plugin. To gather possible installations on every single users session the plugin reads specific registry entries for each user of the system.
The main challenge was to loop over every single registry in order to find the correct entries. This was only possible by using the SID list retrieved through the HKEY_USERS registry values.