WiX customaction没有session.Property [“ CustomActionData”]的值

时间:2019-07-10 19:02:50

标签: wix windows-installer patch custom-action msi-patch

我必须为我的功能在补丁程序发布中将值传递给自定义操作。我做了一些研究,并做了以下工作:

JSONArray array = new JSONArray(JsonString);

我还如下更新了installExecuteSequence:

<CustomAction Id="CustomAction1" Property="customaction2" Value="Value1" />

<CustomAction Id="customaction2" BinaryKey="Binary.dll" 
                  DllEntry="Functionname" Impersonate="no"
                  Execute="immediate" Return="check" />

我还将componentrefs添加到了patch.wxs文件中。

<Custom Action='CustomAction1' After="InstallFinalize"><![CDATA[PATCH]]></Custom>
<Custom Action='customaction2' After="CustomAction1"><![CDATA[PATCH]]></Custom>

要访问此参数值,我在我的自定义动作“ Functionname”中尝试了以下代码:

<CustomActionRef Id="CustomAction1.PackageGuid"/>
<CustomActionRef Id="customaction2.PackageGuid"/>

“值”为空。我进行了一些调试,发现我从下面的代码中获取了价值:

var value = session.Property["CustomActionData"];

我还没有看到任何使用packageGuids访问属性的示例。我不确定为什么第一种方法(使用“ CustomActionData”)对我不起作用。 你们能让我知道我在想什么吗?

此外,与packageGuids一起使用是否有害?如果没有,我计划继续这种方式。如果您需要我尝试其他任何方式,请告诉我

0 个答案:

没有答案