Where does Add/Remove programs pull data for the "Installed On" column
I'm working on replicating the Windows 7/8 add remove programs applet with
VBS. I've gotten the script to include all the correct entries, but not
been able to get it to include all the correct additional information
Windows displays.
Specially, Windows displays the "Installed On" column with a date. In some
cases it gets these from the relevant registry keys like:
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
HKUS\USER -
SID\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
But very few keys actually have the InstallDate value and Windows always
get this column filled. I've managed to grab the majority of the missing
dates from WMI with (This processes is painfully slow for my script):
("SELECT * FROM Win32_Product Where Description = " & "'" & strName & "'"
& "")
for each objSoftware in colSoftware
Date = objSoftware.InstallDate
This only gives me dates from MSI installed applications. I've tried
manually searching the registry for the WMI date for a program such as:
20130907 and they're not listed.
I was thinking maybe Windows "guessed" the dates based on Program
Files/ProgramData file dates, but I've tried manually changing them and it
isn't reflected in Add/Remove. I've tried manually searching the registry
for the WMI date for a program such as: 20130907 and they're not listed.
I'm trying to figure out how Windows pulls this date. I've noticed
CCleaner can reproduce add/remove without error, so this information is
available somewhere, I've just exhausted myself looking for it.
Thanks in advance for any assistance.
No comments:
Post a Comment