I am working on copying a Windows 7/8 add add programs program using VBScript. I got a script to include all the correct entries, but I was not able to get it to include all the correct additional information displayed by Windows.
As an example: Windows displays the "Installed on" column with date. In some cases, he gets them from the appropriate registry keys, for example:
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate HKUS\USER - SID\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
In fact, very few keys have InstallDate values, and Windows always populates this column. I managed to capture most of the missing dates from WMI:
("SELECT * FROM Win32_Product Where Description = " & "'" & strName & "'" & "") for each objSoftware in colSoftware Date = objSoftware.InstallDate
This gives only dates from installed MSI applications.
I thought Windows βguessedβ about dates based on Program Files / ProgramData files, but I tried to manually change them, and this is not reflected in Add / Remove. I am trying to understand how Windows pulls this date. I noticed that CCleaner can reproduce adding / removing without errors, so this information is available somewhere. I just exhausted myself looking for him.
source share