Everyone vs. Just Me
Hey everyone. Hope everyone's doing great.
I was wondering if, given a computer, if I could easily find out the list of software installed and who it's installed for programmatically. Is all the information available in the registry? So far, I have found out that the following key has the full list of installed application:
The main product and corresponding patches are best organized in the registry key below but it's missing many entries of the main product:
Above key also seem to contain "RegOwner" value which appears to indicate who the product was installed for, but it's not reliable. The data is not there most of the times and the value itself is missing sometimes.
Thanks!!!!!
I was wondering if, given a computer, if I could easily find out the list of software installed and who it's installed for programmatically. Is all the information available in the registry? So far, I have found out that the following key has the full list of installed application:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
The main product and corresponding patches are best organized in the registry key below but it's missing many entries of the main product:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products
Above key also seem to contain "RegOwner" value which appears to indicate who the product was installed for, but it's not reliable. The data is not there most of the times and the value itself is missing sometimes.
- Is there a registry key, property or any other method of determining who the application was installed for?
- If 3 users installed the same application using "Just Me" option, is it possible to identify the 3 separate "installation" for these three users? Or, is the last successful install the one that I would be able to identify?(That may be sufficient.)
- If some users installed it for themselves but another user suddenly installed it for Everyone what would happen? Would the installation be in semi corrupt(unclean) state? (Not functionally corrupt.)
- What about the opposite case where it was installed for everyone but a user installed it for just him/herself?
Thanks!!!!!
0 Comments
[ + ] Show comments
Answers (1)
Please log in to answer
Posted by:
anonymous_9363
15 years ago
Have a look at the WindowsInstaller.Installer object's ProductState property on MSDN. Although it won't enumerate all user instances, it does indicate whether a product is installed for a user other than the logged-in user.
Bear in mind, if you go down the registry query route and if you're deploying by Group Policy, that there's the key group HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Managed\[user_SID]\Installer\Products
Bear in mind, if you go down the registry query route and if you're deploying by Group Policy, that there's the key group HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\Managed\[user_SID]\Installer\Products
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.