MsiRecordGetString (msi)
Last changed: -67.106.39.10

.
Summary
Returns the string value of a record field.

C# Signature:

[DllImport("msi.dll", CharSet=CharSet.Unicode)]
static extern int MsiRecordGetString(IntPtr hRecord, int iField,
   StringBuilder szValueBuf, ref int pcchValueBuf);

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

    private static string GetString(IntPtr hRecord, int field, int length)
    {
        var builder = new StringBuilder(length + 1);
        var count = builder.Capacity;

        if (MsiRecordGetString(hRecord, field, builder, ref count) != 0)
        {
        throw new Exception("MsiRecordGetString failed - " + Marshal.GetLastWin32Error());
        }

        return builder.ToString();
    }

Alternative Managed API:

MSI interop library

http://sourceforge.net/project/showfiles.php?group_id=40188&package_id=110212

Documentation