I'm using the Microsoft.Deployment.WindowsInstaller
libraries to read out values from a .msi file. Properties are no problem, and the summary-information can also be read out, example:
static void Main(string[] args)
{
using (var database = new QDatabase(@"C:\myMsi.msi", DatabaseOpenMode.ReadOnly))
{
Console.WriteLine(database.ExecutePropertyQuery("ProductVersion"));
Console.WriteLine(database.ExecutePropertyQuery("ProductName"));
Console.WriteLine(database.ExecutePropertyQuery("Manufacturer"));
Console.WriteLine(database.ExecutePropertyQuery("ARPREADME"));
}
}
The QDatabase
object even has a nice SummaryInfo
property, holding the summary information. However, I haven't found out how to get the platform for which the .MSI is intended for.
It would seem that platform can be read out, as Orca also does this (the platform can be seen when opening the Summary Information in Orca).
How can I get the platform for which the .msi was intended?