尝试将MsiEnumRelatedProducts与各种输入一起使用时,我不断只返回ERROR_INVALID_PARAMETERS。文档没有提供有关无效参数来源的详细信息,但我尝试了很多不同的选项。目前我在下面有这个代码来演示这个问题。用有效的升级guid替换它。
int _tmain(int argc,_TCHAR * argv []) { const wchar_t * upgrade = L“812D9038-YOUR-GUID-B2EB-64F4E0B3FB3D”; wchar_t产品[39]; DWORD index = 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;
}
}
答案 0 :(得分:2)
尝试用升级括号括起升级代码,使其看起来像{GUID}。