2010-07-15 6 views
1

Я использую C++ DLL-функцию как пользовательское действие в проекте развертывания VS. Мне нужно установить некоторые входные данные для этого пользовательского действия. Пример: c: \ a.dll; c: \ b.dllПроект развертывания Visual Studio - CustomActionData

Кажется, я не могу этого сделать. MsiGetProperty ничего не возвращает (или не работает) внутри пользовательской функции действия. Если у меня есть данные пользовательских действий как: «abcd», то MsiGetProperty корректно получает данные.

Как отправить данные по мере необходимости. Пожалуйста помоги.

Thanks, Hilmi.

ответ

1

Является ли обычное мероприятие запланированным как отложенное? Отложенные пользовательские действия не будут иметь доступа к какой-либо из таблиц MSI и только к нескольким свойствам MSI.

Этот article выполняет достойную работу, объясняя, как вызывать отложенное пользовательское действие и передавать ему данные. Хотя он не имеет специфических особенностей, как это сделать с проектом развертывания VS.

Кроме того, вы можете захотеть использовать WIX вместо проекта развертывания VS для создания пакетов msi. Кривая обучения выше, но у вас гораздо больше контроля над сгенерированным msi.