2009-07-31 3 views
4

Was ich möchte, ist, dies zu tun:Set Wix Eigenschaft nur, wenn bestimmte Bedingung erfüllt ist

<Property Id="LICENSEKEYPATH"> 
     REMOVE~="ALL" AND NOT UPGRADINGPRODUCTCODE 
     <DirectorySearch Id="ProgramDataSearch" AssignToProperty="yes" Depth="4" Path="[#ProductDirInAppData]"> 
     <FileSearch Id="LicenseFileSearch" Name="lic-conf.enp"/> 
     </DirectorySearch> 
</Property> 

Wenn meine Anwendung deinstalliert wird, nur dann, kann ich für die Lizenzdatei suchen möchten und erhalten ihre Pfad. Obwohl der Code derzeit keine Fehler gibt, sucht er immer noch nach dem Lizenzdateipfad, auch wenn ich die Datei installiere. Aus diesem Grund wird das Setup um eine lange Zeit verzögert. Und noch wichtiger: Das wix-Setup zeigt im ersten Bildschirm an, dass es nach dieser Eigenschaft sucht und dann mit den anderen Bildschirmen fortfährt. bei der Deinstallation

So, wie ich nach einer Datei suchen oder den Wert einer nur Eigenschaft festgelegt?

Antwort

6

Sie können die Einstellung einer Eigenschaft steuern die SetProperty Element verwendet. Das ist nur eine Verknüpfung zum Registrieren einer benutzerdefinierten Aktion. Sie können steuern, wenn die SetProperty mit einem Conditoin im Textelement ausgeführt wird.

Was AppSearch (XxxSearch Elemente), können Sie eine Bedingung wie die oben auf dem AppSearch Element hinzufügen, so dass es bei der Deinstallation läuft nur. Beachten Sie, dass die Aufbereitung des AppSearch-Elements alle XxxSearch-Elemente beeinflusst. Wenn eine Suche während der Installation und eine weitere Suche nur während der Deinstallation durchgeführt werden muss, ist dies nicht möglich.

PS: Die Bedingung, die Sie wird wie etwas aussehen soll:

Installed AND REMOVE="ALL"