Windows 7/8 のプログラムの追加と削除のアプレットを VBScript で複製する作業を行っています。スクリプトにすべての正しいエントリを含めましたが、Windows が表示するすべての正しい追加情報を含めることができませんでした。
例: Windows では、[インストール日] 列に日付が表示されます。場合によっては、次のような関連するレジストリ キーからこれらを取得します。
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
HKUS\USER - SID\Software\Microsoft\Windows\CurrentVersion\Uninstall\InstallDate
実際に InstallDate 値を持つキーはほとんどなく、Windows では常にこの列が埋められます。WMI から欠落している日付の大部分を取得することができました。
("SELECT * FROM Win32_Product Where Description = " & "'" & strName & "'" & "")
for each objSoftware in colSoftware
Date = objSoftware.InstallDate
これは、MSI がインストールしたアプリケーションからの日付のみを提供します。
Windows が Program Files/ProgramData ファイルの日付に基づいて日付を「推測」したのではないかと考えていましたが、手動で変更しようとしましたが、[追加と削除] に反映されません。Windows がこの日付を取得する方法を理解しようとしています。CCleaner はエラーなしで追加/削除を再現できることに気付いたので、この情報はどこかで入手できます。探すだけで疲れ果ててしまいました。