DTF и MsiGetProperty

Связано с: Доступ к InstallShield "Файлы поддержки" из DTF (управляемое настраиваемое действие)

Мне нужно прочитать свойство SUPPORTDIR. Согласно этому форуму ( http://community.flexerasoftware.com/showthread.php?t=180742&page=3), мне нужно использовать MsiGetProperty.

Как я могу позвонить в MsiGetProperty из DTF?

2 ответа

Решение

Класс сеанса DTF имеет метод:

публичная строка this[строковое свойство] get: set:

Это удалено к неуправляемой стороне C++, где они вызывают MsiGetProperty и MsiSetProperty. Это вроде как VBScript Session.Property("SUPPORTDIR"), только проще.

InstallShield должен был запланировать настраиваемое действие под названием ISSetupFilesExtract. Зарегистрируйте вашу установку и посмотрите, выполняется ли она и назначен ли путь к свойству.

Единственное другое замечание, о котором я могу подумать, это то, что если вы делаете правильный UAC, не поднимая свой пользовательский интерфейс, а затем повышая свою последовательность выполнения, убедитесь, что SUPPORTDIR указан в свойстве SecureCustomProperties. Только "безопасные" свойства, которые получают значение в последовательности пользовательского интерфейса, переносятся в последовательность выполнения. Свойства "PUBLIC" по умолчанию вернутся к тому, что было тогда, когда установщик начал выполнение.

Я могу сказать вам, что я использую SUPPORTDIR (иногда напрямую, а иногда через сериализацию CustomActionData) в своих пользовательских действиях DTF, и у меня нет проблем с этим.

Чтобы продублировать и расширить информацию из моего комментария для доступа к InstallShield "Файлы поддержки" из DTF (управляемое настраиваемое действие):

Объект класса Session передается пользовательскому действию в DTF. Используйте сеанс ["SUPPORTDIR"] для доступа к значению свойства (для немедленных действий). Для отложенного действия вам нужно будет передать его через CustomActionData. Кроме того, для немедленного CA убедитесь, что вы запланировали действие, которое читает SUPPORTDIR после CostFinalize - точки, когда все записи в таблице Directory становятся доступными в качестве свойств.

Другие вопросы по тегам