*Requires that you are a client of SCCM in order for SMS_ to exist/populate
This is an exercise in formatting data returned from CIM via powershell via Autoit. Should get you the meat: name, version, location, installdate, and uninstall string.
Short Version: Grouped by Program
$iPid = run("powershell (Get-CimInstance -Namespace root\cimv2\sms -ClassName SMS_InstalledSoftware | fl ProductName,InstallDate,InstalledLocation,ProductV