Ich möchte auf Assemblyversionsinformationen eines Dienstes zugreifen, den ich mit der ServiceController-Klasse "steuere". (Ich würde gerne "2.3.1.23" anzeigen), jedoch kann ich keine Informationen über das Abrufen von Baugruppenversionen finden ... Ist das überhaupt möglich?
BEARBEITEN : Nur um zu verdeutlichen ... Ich kenne nur den Namen des Dienstes, der auf dem lokalen Computer läuft. Ich möchte auf die "FileVersionInfo" dieses Dienstes zugreifen (besser gesagt Dienst-Exe), jedoch weiß ich nicht, wo sich diese Dienst-exe befindet.
Wenn ich Sie richtig verstehe, möchten Sie die Version eines beliebigen Dienstprogramms erhalten. Angenommen, Sie kennen den Namen und Pfad der ausführbaren Datei des Dienstes, können Sie versuchen:
%Vor% Sie können dann die Eigenschaften der Klasse FileVersionInfo
verwenden, um die Versionsnummer anzuzeigen. Bitte beachten Sie, dass dies auch für UNC-Pfade funktioniert, solange Sie Lesezugriff auf die Datei haben.
BEARBEITEN
Um den ausführbaren Pfad und Namen zu erhalten, wenn Sie nur den Namen des Dienstes kennen, können Sie auf die Registrierung unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
zugreifen. Suchen Sie einen Schlüssel, der dem Dienstnamen entspricht. Unter diesem Schlüssel gibt es einen Wertnamen ImagePath
, der den Namen und Pfad der ausführbaren Datei enthält.
Tags und Links c# assemblies version