2009-11-28 15 views
6

Birbirlerine dayanan SetProperty eylemler dizim var. İşte basitleştirilmiş bir örnektir: "Merhaba dünya!"WiX SetProperty eylemlerinin yürütülmesini sipariş etme

<SetProperty Id="A" Before="AppSearch" Value="Hello" /> 
<SetProperty Id="B" Before="AppSearch" Value="[A] world!" /> 

Mülkiyet A B'nin değeri olması için, bu durumda özellik B'den önce ayarlanması gerekir. WiX yana

bu durumda özel eylem adı ayarlamak için bir öznitelik tanımlamıyor, ben nitelikler sonra veya önce kullanmak için bir isim yok. Ben

bu eylemlerin icra emri özellik adları alfabetik sırasını eşleştiğini fark ettiniz, ama ben güvenmek gerektiğini bir uygulama ayrıntı gibi hissediyor.

SetProperty özel eylemlerinin sırasını nasıl temizlerim?

cevap

9

Özel eylemin adını aşağılamak için SetProperty öğesinin “Action” özelliğini de kullanabilirsiniz. Bu özellik, belirsiz “SetXXX” eylem adlarını kaldırdığı için, iki ayrı SetProperty eyleminde aynı özelliği ayarlamak isterseniz bu önemli hale gelir. Örneğin

:

<SetProperty Id="A" Action="MyFirstAction" Before="AppSearch" Value="Hello" /> 
<SetProperty Id="B" Action="MySecondAction" After="MyFirstAction" Value="[A] world!" /> 
<SetProperty Id="A" Action="MyThirdAction" After ="MySecondAction" Value="Goodbye cruel world!" /> 
Garip, benim söz konusu (2009 yılında yayınlanmıştır) Adını ayarlamak için böyle bir özellik olduğunu söyledi
+0

. Ya onu özledim ya da belki de o zamandan beri wix 3 sürümlerinden birinde eklendi. Güncelleme için teşekkürler! –

4

Özel eylemler için oluşturulan adları bulmak için orca kullanılır. Onlar SetA ve SetB olmak için çıkıyorlar. Aşağıdakini yapmak istiyorum:

<SetProperty Id="A" Before="AppSearch" Value="Hello" /> 
<SetProperty Id="B" After="SetA" Value="[A] world!" />