изменение свойств установщика в пользовательском действии C#
Как изменить свойства установщика в моем пользовательском действии C#?
2 ответов
для доступа к свойству WiX, например, заданному с элементом Property, используйте Индексатор объекта сеанса. Вот пример:
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
string myProperty = session["MY_PROPERTY"];
return ActionResult.Success;
}
настройка свойств так же просто. Вы установите значение, обратившись к ключу с помощью Название вашей собственности. Вот пример:
[CustomAction]
public static ActionResult CustomAction1(Session session)
{
session["MY_PROPERTY"] = "abc";
return ActionResult.Success;
}
если свойство не существует при его установке, оно будет создано. Аналогично, вы можете очистить имущества, установив его значение null. Создание или изменение значений свойств от пользовательское действие не мешает установщику отображать эти свойства в журнал установки. Итак, если свойство содержит информацию, которая должна быть скрыта, вы лучше сначала объявить его в разметке WiX и установить его скрытый атрибут да.
<Property Id="MY_PROPERTY" Hidden="yes" />
ты не можешь. Только Win32 DLL и VBScript немедленно действия имеют доступ на запись в свойствах установщика. Любой другой пользовательский тип действия может получать свойства только через командную строку или через CustomActionData.
вот учебник для пользовательского действия DLL C++:http://www.codeproject.com/KB/install/msicustomaction.aspx
чтобы получить и установить свойства установщика Windows, вы можете использовать MsiGetProperty () и MsiSetProperty().