Получение CustomActionData в отложенном настраиваемом действии

Я пытаюсь получить данные из свойства CustomActionData в c ++ dll, но он всегда пуст во время отложенной последовательности. Если я использую точно такой же код в CA, выполняемом во время последовательности UI, все это прекрасно работает.

        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);
}

У кого-нибудь из вас есть идея, что может быть не так?

0

Решение

Либо что-то не так с этим кодом C ++ (я не делал c ++ за двадцать лет), или, скорее всего, вы неправильно установили CustomActionData.

Вам нужно, чтобы настраиваемое действие было запланировано в непосредственном контексте перед отложенным настраиваемым действием. Свойство, которое это устанавливает, является именем отложенного CA.

Имя привязки: SetSomething Свойство: Something = Значение: FOO (не CustomActionData = FOO)

Имя привязки: Something MsiGetProperty (… «CustomactionData» …);

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector