2013-06-19 9 views
10

Nach dem Lesen der Seite SetProperty und Blick auf so viele Beispiele, wie ich hier und anderswo finden konnte, bin ich immer noch nicht in der Lage, meine SetProperty mit After oder Before zu arbeiten Stellen Sie eine meiner benutzerdefinierten Aktions-IDs ein. Die Dokumentation scheint sehr einfach und geradlinig zu dem Thema zu sein (hah!), Aber ich bekomme "Found a ActionRow mit einer nicht-existenten After-Aktion: MyWonderfulCA" anstelle von Glück (was wirklich das ist, wonach ich suche:) Hier ist eine Darstellung von dem, was mein Code wie folgt aussieht:wix SetProperty Nach dem Attribut wird keine benutzerdefinierte Aktion Id

<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> 

wie auch immer, mir SOF Wix Profis retten, du meine einzige Hoffnung ist ...

Antwort

30

ich bin nicht sicher, aber die folgende Sache sieht verdächtig .

Das <SetProperty> (link) Element hat Sequence Attribut, das optional ist. Wenn Sie es nicht angeben (wie in der von Ihnen geposteten Stichprobe), erhält es den Wert both, was bedeutet, dass custom action of type 51 (was SetProperty bedeutet) sowohl in InstallUISequence als auch in InstallExecuteSequence eingeplant ist.

Soweit ich sehen kann, planen Sie nur MyWonderfulCA in die InstallExecuteSequence. Daher lässt es mich denken, dass, wenn WiX versucht, SetProperty in dem InstallUISequence zu planen, es die benutzerdefinierte Aktion nicht finden kann, die in Attribut angegeben wird und fehlschlägt.

Überprüfen Sie dies, indem Sie entweder die Sequence='execute' explizit angeben oder indem Sie Ihre wunderbare CA in beide Reihenfolge einplanen. Wenn dies der Fall ist, dann wähle einfach den geeignetsten Weg aus diesen beiden.

+0

BINGO !! Das hat es getan. Sie rocken Yan, vielen Dank für das Hinweisen auf die Sequenz attr:) – idclaar

+0

:) froh, dass es Ihnen geholfen hat –

+2

Wow, und das ist überhaupt nicht offensichtlich aus den Beispielen auch hier http://wixtoolset.org/documentation/manual/ v3/customactions/qtexec.html Habe viel Zeit damit verbracht mich zu fragen, was zur Hölle mache ich falsch. Prost! – berkus

Verwandte Themen