Years later but if anyone else is looking, tou can get the version from the .msi with this:
private String GetVersionFromMsi(string FilePath)
{
//var FilePath = @"C:\Users\self\path\to\your\installFile.msi";
var view = ((dynamic)Activator.CreateInstance(Type.GetTypeFromProgID("WindowsInstaller.Installer")))
.OpenDatabase(FilePath, 0)
.OpenView("SELECT Value FROM Property WHERE Property = 'ProductVersion'");
view.Execute();
string version = view.Fetch().StringData(1);
return version;
}