[DllImport("msi.dll", CharSet=CharSet.Unicode)]
static extern int MsiGetProperty(int hInstall, string szName,
[Out] StringBuilder szValueBuf, ref int pchValueBuf);
MSIHANDLEs are unsigned longs regardless of platform; it maps to 32-bit ints.
Please add some!
int handle;
MsiOpenPackage(fileName, out handle);
StringBuilder sb = new StringBuilder();
int stringSize = 256;
int value = MsiGetProperty(handle, "ProductVersion", out sb, ref stringSize);
MSI interop library
http://sourceforge.net/project/showfiles.php?group_id=40188&package_id=110212