在C#自定义操作中更改安装程序属性

Bog*_*ets 9 c# windows-installer custom-action wix

如何在C#自定义操作中更改安装程序属性?

Bog*_*ets 15

要访问WiX属性,例如使用Property元素设置的属性,请使用Session对象的索引器.这是一个例子:

[CustomAction]
public static ActionResult CustomAction1(Session session)
{
string myProperty = session["MY_PROPERTY"];
return ActionResult.Success;
}
Run Code Online (Sandbox Code Playgroud)

设置属性同样容易.您将通过引用具有属性名称的键来设置值.这是一个例子:

[CustomAction]
public static ActionResult CustomAction1(Session session)
{
session["MY_PROPERTY"] = "abc";
return ActionResult.Success;
}
Run Code Online (Sandbox Code Playgroud)

如果在设置属性时该属性不存在,则会创建该属性.同样,您可以通过将其值设置为null来清除属性.从自定义操作创建或更改属性值不会阻止安装程序在安装日志中显示这些属性.因此,如果某个属性包含应该隐藏的信息,那么最好先在WiX标记中声明它并将其隐藏属性设置为yes.

<Property Id="MY_PROPERTY" Hidden="yes" />
Run Code Online (Sandbox Code Playgroud)