Question

J'ai une action personnalisée qui doit être exécutée si l'état d'action de fonction spesial est « installer ». Maintenant, je suis en utilisant la condition suivante:

(&ca_feature=3 AND NOT &ca_feature=2) OR (!ca_feature=3 AND PATCH) .

Je veux exécuter aussi en mode Modifier. Lorsque la fonction est déjà installé et l'utilisateur ne veut pas le supprimer. Je thaught pour ajouter OR (REINSTALL><ca_feature OR REINSTALL=ALL) à ma chaîne de condition. mais il semble ne fonctionne pas .. Je ne peux pas comment le MSI travaille dans certaines situations, c'est mon problème. mais je peux pas trouver la réponse dans Internet. S'il vous plaît, dites-moi ce que I'Am faire / mauvaise compréhension? Merci à l'avance

Était-ce utile?

La solution

La condition correctement regarde. La dernière partie avec REINSTALL serait vrai si votre fonction doit être réinstallé.

Bien que vous pouvez essayer d'utiliser !ca_feature=3 au lieu de REINSTALL><ca_feature:. Qui irait à l'AC lorsque la fonction est installée


Je pense que votre état pourrait regarder cette façon:

(&ca_feature=3) OR (!ca_feature=3 AND NOT (REMOVE><ca_feature OR REMOVE=ALL))

Il serait chargé du CA lorsque cette fonction est prévue pour l'installation, ou si elle est installée et n'est pas prévu pour supprimer.

Cette AND NOT &ca_feature=2 partie dans la première parenthèse est redondante parce &ca_feature ne peut être égal à 2 si elle est égale à 3 déjà.


Utilisez MSI pour une journalisation mieux comprendre ce qui se passe. Exécutez l'installation de cette façon:

msiexec /i package.msi /l*vx log.txt

Quand un état de fonction change ou une propriété est modifiée, vous verrez un message dans le journal. Ensuite, vous serez en mesure de comparer les valeurs réelles avec vos attentes. Utiliser une autre opération des interrupteurs au lieu de l'exécuter /i en modifier ou en mode de suppression.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top