我尝试从c dll中的customActionData属性中获取数据,但是在递延序列期间始终是空的。如果我在UI序列中执行的CA中使用完全相同的代码,则它的功能都很好。
UINT iCASize = 0;
UINT uiStat = MsiGetProperty(hInstall, TEXT("CustomActionData"), TEXT(""), &iCASize);
if (uiStat == ERROR_MORE_DATA)
{
// this means there are data to read. Allocate array for all data and read it (+1 for null termination)
pCustData = new WCHAR[iCASize + 1];
uiStat = MsiGetProperty(hInstall, TEXT("CustomActionData"), pCustData, &iCASize);
}
你们中的任何人都有一个想法可能是错误的?
此C 代码有问题(我二十年来没有完成C ),或者您更有可能无法正确设置CustomActionData。
您需要在递延自定义操作之前立即安排的自定义操作。它设置的属性是延期ca。
的名称自定义名称:setSomething属性:something = value:foo(不custainActionData = foo)
自定义名称:Something MsigetProperty(..." CustomActionData" ...);