The code itself to interrogate the registry is even easier than using WMI. My current code has dropped WMI in favor of using the registry. Unfortunately, there doesn't seem to be a way to get WMI to list all programs from the add/remove programs list (aka Programs and Features in Windows 7, not sure about Vista). See my comment that describes 32-bit vs 64-bit behavior in that same post here: If I figure it out, I'll try to remember to report back here.Įntries for 32-bit programs installed on a 64-bit machine go in that registry location. I haven't yet figured out how to get this list to be reported by WMI (although the program is listed as installed in Programs and Features). HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall I'm finding that registry entries are being written to I have been using Inno Setup for an installer.