wix SetProperty After属性不会采取自定义操作ID [英] wix SetProperty After attribute won't take custom action Id

查看:251
本文介绍了wix SetProperty After属性不会采取自定义操作ID的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在阅读SetProperty上的页面并查看了尽可能多的示例后,我仍然无法将SetProperty设置为自定义操作ID的After或Before来使用。该文档看起来很简单,而且很简单(哈!),但是我得到的是找到一个不存在的After Action:MyWonderfulCA的ActionRow,而不是幸福(这实际上是我想要的:)我的代码看起来像什么:

After reading the page on SetProperty and looking at as many examples as I could find here and elsewhere, I'm still not able to get my SetProperty to work with After or Before set to one of my custom action IDs. The documentation seems very simple and straight forward on the subject (hah!), but I'm getting "Found an ActionRow with a non-existent After action: MyWonderfulCA" instead of happiness (which really is what I'm after : ) Here's a representation of what my code looks like:

    <CustomAction Id="MyWonderfulCA" BinaryKey="MyWonderful.dll" DllEntry="MyWonderfulCA" Execute="immediate" />

    <InstallExecuteSequence>
        <Custom Action="MyWonderfulCA" After="LaunchConditions" />
    </InstallExecuteSequence>

    <Property Id="SOMEPROPERTY" />
    <SetProperty Id="SOMEPROPERTY" After="MyWonderfulCA" Value="[SOMEOTHERPROPERTY]the\yellow\brick\road">WEAREHUNKYDORY</SetProperty>

所以无论如何,请救我SOF专家,您是我唯一的希望...

So anyway, save me SOF wix pros, you're my only hope...

推荐答案

我不确定,但以下内容看起来可疑。

I'm not sure, but the following thing looks suspicious.

< SetProperty> 链接)元素具有 Sequence 属性,即可选的。如果您未指定它(例如在您发布的示例中),则它的值均为 ,这表示类型为51 的自定义操作( SetProperty 的意思是)排定为 InstallUISequence InstallExecuteSequence

The <SetProperty> (link) element has Sequence attribute, which is optional. If you don't specify it (like in the sample you posted), it gets the value of both, which means the custom action of type 51 (which is what SetProperty translates to) is scheduled into both InstallUISequence and InstallExecuteSequence.

,据我所知,您仅将 MyWonderfulCA 安排到 InstallExecuteSequence 中。因此,我认为当WiX尝试将 SetProperty 安排到 InstallUISequence 时,找不到自定义项在 After 属性中指定的操作并失败。

However, as far as I can see, you only schedule MyWonderfulCA into the InstallExecuteSequence. Hence, it makes me think that when WiX tries to schedule SetProperty into the InstallUISequence, it can't find the custom action specified in After attribute and fails.

通过指定 Sequence进行检查='execute'或通过将您的CA安排在两个序列中来执行。如果是这样,那么只需从这两种方法中选择最合适的方法。

Check this out by either specifying the Sequence='execute' explicitly, or by scheduling your wonderful CA into both sequence. If it is the case, then just choose the most appropriate way out of these two.

这篇关于wix SetProperty After属性不会采取自定义操作ID的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆