2016-03-22 17 views
0

Özellik ağacının görüntülenmesinden önce özel bir işlemin bir dizinin var olup olmadığını kontrol ettiği bir yükleyici var. Eğer varsa, kullanıcıya bir alt özellik yükleme seçeneği vermek istiyorum , dizin yoksa o zaman alt özellik gösterilmeyecektirWix - Devre Dışı Bırak Özelliği Özellik Değeri 0

anda My özel eylem için bir değişken DROPDLL kuruyor

ya 0 dizin yoksa, ya da 1000 da

I yaparsa Aşağıdakileri kullanarak alt özelliği etkinleştirmeyi/devre dışı bırakmayı denemiyorum ama şu ana kadar şansınız yok

<Feature 
    Id="ServiceTierFeature" 
    Level="1000" 
    Title="Service Tier" 
    Description="Service Tier" 
    ConfigurableDirectory="INSTALLLOCATION" 
    Absent="allow" 
    AllowAdvertise="no"> 
    <ComponentGroupRef Id="MyWebSite" /> 
    <Condition Level ="0">DROPDLL = 0 </Condition> 
     <Feature 
     Id="WorkQPlugin" 
     Level="1" 
     Title="V2 WorkQ Plugin" 
     AllowAdvertise="no" 
     Absent="allow"> 
     <ComponentGroupRef Id="MyRegistryKeys" /> 
     </Feature> 
</Feature> 

Bunun nasıl sağlanabileceğine dair herhangi bir öneriniz var mı?

DÜZENLEME:

Kod sonra aşağıda öneri

<Feature 
Id="WorkQPlugin" 
Title="V2 WorkQ Plugin" 
Level="0"> 
    <Condition Level ="1">DROPDLL = "1000"</Condition> 
    <ComponentGroupRef Id="MyRegistryKeys" /> 
</Feature> 

cevap

2

Orada aşırı karmaşık olabilir - göründüğü siz burada basit bir özellik koşulu gerekiyor gibi:

https://www.firegiant.com/wix/tutorial/getting-started/conditional-installation/

ve

0 örneğindeki gibi

ve durumun yerine FileExists içinde DROPDLL = 1000 kullanmayı tercih ediyorum. Varsayılan seviye sıfırdır ve bu, seviye 1 olarak ayarlanmadığı sürece, özellik DROPDLL'inizin 1000 olması durumunda gerçekleşmeyeceği anlamına gelir.

+0

Merhabalar, cevabınız için teşekkürler, şimdi koydum kodu, yukarıda bahsettiğiniz gibi olacak şekilde düzenlediniz ama hala şansınız yok, şimdi düzenlediğim kodu @phildw ile değiştireceğim – Sjharrison

İlgili konular