2016-03-22 7 views
0

Ich habe ein Installationsprogramm, wo vor dem Feature-Baum eine benutzerdefinierte Aktion überprüft, ob ein Verzeichnis vorhanden ist, wenn es dann möchte ich dem Benutzer die Option zum Installieren eines Unter-Features geben wenn das Verzeichnis nicht existiert dann die Sub-Funktion Meine benutzerdefinierte nicht angezeigtWix - Feature deaktivieren Wenn Eigenschaftswert = 0

Aktion zur Zeit eine Variable DROPDLL werden setzt entweder 0, wenn Verzeichnis nicht existiert, oder 1000, wenn es tut

I Ich versuche nicht, das Untermerkmal über das folgende zu aktivieren/zu deaktivieren, aber bis jetzt kein Glück

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

Irgendwelche Vorschläge, wie dies erreicht werden kann?

EDIT:

-Code nach unten Vorschläge

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

Antwort

2

Sie können es zu kompliziert sein - es sieht aus wie Sie, wie hier eine einfache Funktion Zustand benötigen:

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

und es ist im Grunde nur wie das Beispiel:

<Feature Id='Documentation' Level='0'> 
<ComponentRef Id='Manual' /> 
<Condition Level="1">FILEEXISTS</Condition> 

und Sie würden Ihre DROPDLL = 1000 in dem Zustand statt FILEEXISTS verwenden. Die Standardstufe ist Null, und das bedeutet, dass die Funktion nicht installiert wird, wenn die Stufe auf 1 gesetzt ist. Das passiert, wenn DROPDLL 1000 ist.

+0

Hallo, vielen Dank für Ihre Antwort, ich habe jetzt gesetzt habe den code so bearbeitet, dass es so ist wie oben erwähnt aber immer noch kein glück, ich werde meine frage jetzt mit dem bearbeiteten code @phildw bearbeiten – Sjharrison

Verwandte Themen