Боюсь, нет единого метода, подходящего для всех приложений. Но для приложения MS Office вы можете получить версию через COM-объекты.
Извините, у меня нет outlook на моем компьютере, поэтому я не могу попробовать его с oulook. Но с помощью Excel и Word это можно сделать так:
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Word.Application wordApp = new Microsoft.Office.Interop.Word.Application();
Console.WriteLine("Excel: Version-" + excelApp.Version + " Build-" + excelApp.Build);
Console.WriteLine("Word: Version-" + wordApp.Version + " Build-" + wordApp.Build);
Я думаю, что получение версии других приложений MS будет таким же.
Удачи.
PS. Не забудьте в конце вызвать Quit () и освободить com-объекты с помощью Marshal.ReleaseComObject () , например,
Marshal.ReleaseComObject(excelApp);
Marshal.ReleaseComObject(wordApp);