2013-06-19 14 views
10

SetProperty'deki sayfayı okuduktan ve burada ve başka yerlerde bulabildiğim kadar çok örnekle karşılaştıktan sonra, SetProperty'imi After veya Before ile çalışmaya devam edemiyorum. özel işlem kimliğimden birine ayarlıyorum. Dokümantasyon çok basit ve konuyla ilgili ileriye doğru görünüyor (hah!), Ama "Mutsuz bir Sonrası eylem: MyWonderfulCA ile bir ActionRow bulundu" yerine mutluluk yerine (ki gerçekten peşimdeyim:) İşte benim kod neye benzediğini bir temsilidir: Neysewix SetProperty öznitelik özel eylemi almazsa Not

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

,

cevap

30

emin değilim, ancak aşağıdaki şey şüpheli görünüyorsa ... sen benim tek umudumuz, bana SOF wix artıları kaydetmek .

<SetProperty> (link) öğesi isteğe bağlıdır Sequence niteliğine sahiptir. Bunu belirtmezseniz (gönderdiğiniz örnekte olduğu gibi), değerini alır, yani custom action of type 51 (SetProperty çevirisinin anlamı nedir) InstallUISequence ve InstallExecuteSequence öğelerine planlanmıştır. Ancak, görebildiğim kadarıyla, MyWonderfulCA'u sadece InstallExecuteSequence'a programlayabilirsiniz. Bu nedenle, WiX, InstallUISequence içine SetProperty zamanlamayı denediğinde, After özniteliğinde belirtilen özel eylemi bulamadığı ve başarısız olduğunu düşünmemi sağlıyor.

Bunu açık bir şekilde ya da Sequence='execute' belirterek veya harika CA'nizi her iki diziye programlayarak kontrol edin. Durum buysa, o zaman bu ikisinden en uygun olanı seçin.

+0

BINGO !! Bu yaptı. Sen Yan, sen-si olmak için çok teşekkürler Teşekkürler attr:) – idclaar

+0

:) –

+2

Wow yardımcı olduğunu sevindim ve bu bile burada örneklerden TÜM açık değildir http://wixtoolset.org/documentation/manual/ v3/customactions/qtexec.html Ne yaptığımı merak ederek çok fazla zaman geçirdim. Şerefe! – berkus