我在 c# 中调用get_PrimaryKeys()
函数时遇到问题。msi.dll
我想资助给定 MSI 表中的主键。我使用以下代码:
Type installerType = Type.GetTypeFromProgID("WindowsInstaller.Installer");
installer = (Installer)Activator.CreateInstance(installerType);
database = installer.OpenDatabase(MSIPath, MsiOpenDatabaseMode.msiOpenDatabaseModeTransact);
WindowsInstaller.Record data = null;
data = database.PrimaryKeys[tableName];
string s = data.get_StringData(1);
如果我使用database.get_PrimaryKeys(tableName)
,它会给出相同的错误,即:
COMexception
Member not found. (Exception from HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND))
当我使用 msi.dll 中的其他函数时,它们工作正常。
问题是什么?