Попытка использовать MsiEnumRelatedProducts с различными входными данными постоянно возвращает мне только ERROR_INVALID_PARAMETERS. Документация не дает никаких подробностей о том, что может быть источником неверного параметра, но я пробовал много разных вариантов. В настоящее время у меня есть этот код ниже, чтобы продемонстрировать проблему. Замените действительным руководством по обновлению.
int _tmain (int argc, _TCHAR * argv [])
{
const wchar_t * upgrade = L "812D9038-YOUR-GUID-B2EB-64F4E0B3FB3D";
wchar_t product [39];
Индекс DWORD = 0;
switch (MsiEnumRelatedProducts(upgrade, 0, index++, product)) {
case ERROR_SUCCESS:
wcout << L"ERROR_SUCCESS" << endl;
break;
case ERROR_NO_MORE_ITEMS:
wcout << L"ERROR_NO_MORE_ITEMS" << endl;
break;
case ERROR_BAD_CONFIGURATION:
wcout << L"ERROR_BAD_CONFIGURATION" << endl;
break;
case ERROR_INVALID_PARAMETER:
wcout << L"ERROR_INVALID_PARAMETER" << endl;
break;
case ERROR_NOT_ENOUGH_MEMORY:
wcout << L"ERROR_NOT_ENOUGH_MEMORY" << endl;
break;
default:
wcout << L"DEFAULT" << endl;
break;
}
}