There is no unified method suitable for all the applications I'm afraid. But for MS office application you may get version via COM objects.
Sorry, I don't have outlook on my computer, so I can't try it with oulook. But with excel and word it can be done like that:
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);
I think that getting version of other MS applications will be quite the same.
Good luck.
PS. Do not forget to call Quit() in the end and to release com objects via Marshal.ReleaseComObject() method like
Marshal.ReleaseComObject(excelApp);
Marshal.ReleaseComObject(wordApp);