在延期定制操作中获取自定义Data



我尝试从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" ...);

最新更新