2013-06-19 9 views
10

Po przeczytaniu strony o SetProperty i przejrzeniu tylu przykładów, ile mogłem znaleźć tutaj i gdzie indziej, nadal nie jestem w stanie sprawić, by moja SetProperty działała z After lub Before ustaw jeden z moich niestandardowych ID akcji. Dokumentacja wydaje się bardzo prosta i bezpośrednia na ten temat (ha!), Ale dostaję "Znaleziony ActionRow z nieistniejącym After action: MyWonderfulCA" zamiast szczęścia (co tak naprawdę jest tym, czego szukam): Oto przedstawia to, co mój kod wygląda następująco:wix SetProperty Po atrybucie nie podejmiemy niestandardowego działania 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> 

Więc tak, zachowaj mnie SOF plusy Wix, jesteś moją jedyną nadzieją ...

Odpowiedz

30

nie jestem pewien, ale po co wygląda podejrzanie .

<SetProperty> (link) element ma Sequence cechę, która jest opcjonalna. Jeśli go nie określisz (jak w przykładowym, który wysłałeś), otrzyma on wartość both, co oznacza, że ​​custom action of type 51 (czyli to, co tłumaczy SetProperty) jest zaplanowane zarówno na InstallUISequence, jak i InstallExecuteSequence.

Jednak, o ile widzę, planujesz tylko MyWonderfulCA w InstallExecuteSequence. Dlatego wydaje mi się, że gdy WiX próbuje ustawić SetProperty na InstallUISequence, nie może znaleźć niestandardowej akcji określonej w atrybucie After i nie powiedzie się.

Sprawdź to przez jednoznaczne podanie wartości Sequence='execute' lub zaplanowanie wspaniałego CA w obu sekwencjach. Jeśli tak, to wybierz najbardziej odpowiedni sposób spośród tych dwóch.

+0

BINGO !! Tak było. Skałasz Yana, dziękuję bardzo za wskazanie Sekwencji atr:) – idclaar

+0

:) Cieszę się, że pomogło ci –

+2

Wow, a to wcale nie jest oczywiste z przykładów, nawet tutaj http://wixtoolset.org/documentation/manual/ v3/customactions/qtexec.html Spędziłem dużo czasu zastanawiając się co do cholery robię źle. Twoje zdrowie! – berkus

Powiązane problemy