This example shows you the available ProgIDs of the Windows applications which are installed and ahould be usable with win32com. My problem is, that most of the ProgIDs are shown, but not all ?!
import win32com.client strComputer = "." objWMIService = win32com.client.Dispatch("WbemScripting.SWbemLocator") objSWbemServices = objWMIService.ConnectServer(strComputer,"root\cimv2") colItems = objSWbemServices.ExecQuery("Select * from Win32_ProgIDSpecification") for objItem in colItems: print "Caption: ", objItem.Caption print "Check ID: ", objItem.CheckID print "Check Mode: ", objItem.CheckMode print "Description: ", objItem.Description print "Name: ", objItem.Name print "Parent: ", objItem.Parent print "ProgID: ", objItem.ProgID print "Software Element ID: ", objItem.SoftwareElementID print "Software Element State: ", objItem.SoftwareElementState print "Target Operating System: ", objItem.TargetOperatingSystem print "Version: ", objItem.Version print "-------------------------------------------------------------------\n"