gpt4 book ai didi

c++ - 在延迟的自定义操作中获取 CustomActionData

转载 作者:行者123 更新时间:2023-11-28 04:52:45 25 4
gpt4 key购买 nike

我尝试从 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++ 代码有问题(我已经 20 年没用过 C++ 了),要么更可能是你没有正确设置 CustomActionData。

您需要在延迟的自定义操作之前在即时上下文中安排一个自定义操作。它设置的属性是延迟 CA 的名称。

Customaction 名称:SetSomething 属性:Something = Value:FOO(不是 CustomActionData = FOO)

自定义名称:Something MsiGetProperty( ... "CustomactionData"... );

关于c++ - 在延迟的自定义操作中获取 CustomActionData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47811341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com