InstallShield - 在C#WIX DTF自定义操作dll

时间:2017-03-01 19:51:35

标签: c#

尝试使用InstallShield 2016中的WIX DTF自定义操作dll中的函数。该过程与在"托管代码中执行延迟自定义操作相同。键入自定义操作,但对于DTF访问,必须创建一个"新的MSI DLL"键入自定义操作。自定义操作中的属性名称必须与引用的自定义操作dll中的函数名称匹配。如果它们不匹配,CustomActionData将为空。

对于自定义操作类型,"设置属性"必须首先执行action,它设置CustomActionData的值。然后,执行与自定义操作关联的函数,并检索以前在CustomActionData中设置的值。

我的属性和我的函数具有相同的名称(SetRegionalServerUrl),我调用了一个" set属性"首先是自定义操作,但当自定义操作的函数尝试读取其内容时,CustomActionData为空。

使用"托管代码"输入自定义动作dll,所以我希望有人可以建议尝试,或者指出我错过了什么。

感谢。

1 个答案:

答案 0 :(得分:0)

如果在延迟上下文中执行了操作,则常规变量不可用。你必须将它们全部包装到CustomActionData中: http://helpnet.flexerasoftware.com/isxhelp22/helplibrary/ActionExecutionOptions.htm

您要做的是将CustomActionData定义为等于原始属性的排序规则,然后在实际操作中对其进行解析。