Трябва да актуализирам колона с атрибути в MSI файл. За съжаление, не мога да намеря никаква документация (особено за C++).
Ето кодов фрагмент на това, което се опитвам да направя:
DatabasePtr db = /* opening db succeeds*/
ViewPtr view = db->OpenView(_bstr_t("SELECT Attributes FROM Component"));
view->Execute(NULL);
RecordPtr record=view->Fetch();
record->PutIntegerData(2, record->GetIntegerData(1)|2048);
// I do not exactly understand the next 2 lines
// Should I really call Execute before Modify?
record->Execute(record);
record->Modify(msiViewModifyUpdate, record); //throws a _com_error
Както е посочено при запис->Модифициране(...) извежда _com_error, заявявайки: IDispatch грешка #1000? Какво означава това. Къде мога да потърся тези кодове за грешки? Това не са HRESULTs...
Но по-важните въпроси са как да актуализирам правилно записа? Как мога да премина през всички избрани записи? Извършването на ново извличане и сравняването на записа с NULL води до безкраен цикъл.
Благодаря за помощта,
Ованес