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

本文关键字:安装 程序 属性 自定义 操作 | 更新日期: 2023-09-27 17:52:17

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

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

要访问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;
}

如果设置属性时该属性不存在,则会创建该属性。类似地,你可以通过将属性的值设置为空来清除属性。创建或更改属性值From自定义操作不会阻止安装程序显示这些属性安装日志。如果一个属性包含了应该被隐藏的信息最好先在WiX标记中声明它,并设置其Hidden属性是的。

<Property Id="MY_PROPERTY" Hidden="yes" />

你不能。只有Win32 dll和VBScript Immediate动作有对安装程序属性的写访问权限。任何其他自定义操作类型只能通过命令行或CustomActionData接收属性。

下面是一个c++ DLL自定义操作的教程:http://www.codeproject.com/KB/install/msicustomaction.aspx

要获取和设置Windows安装程序属性,您可以使用MsiGetProperty()和MsiSetProperty()。