← Blog

Liste der installierten Programme unter Windows mit Ruby abrufen

Wenn Sie an einem Projekt arbeiten, das Informationen über die auf einem Windows-Rechner installierte Software benötigt, ist es nützlich zu wissen, wie man diese Informationen mit Ruby programmatisch abruft. Eine Möglichkeit ist die Schnittstelle Windows Management Instrumentation (WMI).

Achtung: So werden nur Programme gefunden, die mit dem Windows Installer installiert wurden.
Andere Wege finden Sie hier: “Please stop using win32product”

Ein Gem, das den Umgang mit WMI einfach macht, ist win32ole. Mit win32ole können Sie sich mit der WMI-Schnittstelle verbinden und Abfragen ausführen, um Informationen über die installierten Programme eines Windows-Rechners abzurufen.

Hier ein Beispiel, wie Sie mit win32ole eine Liste der installierten Programme samt Name, Version und Hersteller erhalten:

require 'win32ole'

wmi = WIN32OLE.connect("winmgmts://")
programs = wmi.ExecQuery("SELECT Name, Version, Vendor FROM Win32_Product")

programs.each do |program|
  puts "Name: #{program.Name}"
  puts "Version: #{program.Version}"
  puts "Vendor: #{program.Vendor}"
  puts ""
end

Dieser Code verbindet sich mit der WMI-Schnittstelle und führt eine Abfrage aus, die Name, Version und Hersteller jedes installierten Programms abruft.