Если я вас правильно понимаю, вы хотите получить версию любой службы exe. Предполагая, что вы знаете имя и путь к исполняемому файлу службы, вы можете попробовать:
FileVersionInfo versionInfo = FileVersionInfo.GetVersionInfo(<path and name of service exe>);
Затем вы можете использовать свойства класса FileVersionInfo
для отображения номера версии. Обратите внимание, что это также работает для путей UNC, если у вас есть права на чтение и чтение файла.
EDIT
Чтобы получить путь и имя исполняемого файла, если вы знаете только имя службы, вы можете получить доступ к Реестру в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
. Найдите ключ, соответствующий названию услуги. Под этим ключом есть имя значения ImagePath
, которое содержит имя и путь к исполняемому файлу.