9
votes

Installer des fonctions en fonction de cases à cocher

J'essaie de le faire pour que lorsque l'utilisateur sélectionne quelque chose via une case à cocher, une fonctionnalité correspondante sera installée.

Je suis conscient de l'arbre de fonctionnalité précieux que Wix fournit, mais il y a d'autres choses que je fais que je ne me permettez pas d'utiliser cette fonction. Je suis curieux de savoir comment relier les deux ensemble de sorte que lorsque l'utilisateur sélectionne la case à cocher "Fonction d'installation x", la fonction X est installée lorsque l'utilisateur clique sur le bouton d'installation.


3 commentaires

Je définit tous les niveaux de chaque fonctionnalité de 0 et lorsque l'utilisateur sélectionne la case à cocher puis clique sur Suivant, je tente de définir le niveau sur 1 avec la propriété "addlocal". Cependant, autrement que j'ai du mal à trouver des solutions alternatives. La plupart des gens reviennent à l'arbre des fonctionnalités


Le nom de la propriété est addlocal , tout en majuscule.


J'ai donc fait le changement de "addlocal" à "addlocal" mais cela n'a pas corrigé le problème. Je me demande si je manque peut-être quelque chose, j'ai peut-être besoin d'une propriété que lorsque je sélectionne la case à cocher, il définit cette valeur et installez-la à partir de là ...


3 Réponses :


1
votes

Le conseil pour les casiers à cocher est étroitement similaire à celui de Boutons radio . Utilisez AddLocal et Supprimer les événements de contrôle sur le bouton NEXT ou INSTALL, chacun de l'état de la propriété attaché à vos cases à cocher. Il est trop tard pour utiliser les niveaux d'installation de fonctionnalités au moment où vous affichez une interface utilisateur à l'utilisateur.


3 commentaires

Je vois donc afin de faire cela, je devrais faire quelque chose comme ça ... FeatureX_Checked Pas fonctionnel_Checked Merci pour les réponses BTW


J'ai donc essayé de plusieurs façons différentes et cela n'a toujours pas fonctionné ... aucune autre idée qui pourrait poser un problème?


@Jimmy, je suis un peu confus. Dans la propriété AddLocal, la valeur doit être l'ID du contrôle ou l'ID de la fonctionnalité? Vous montrez l'identifiant du contrôle. En outre, comment est-ce que l'ID de ComponSgrouve est lié à AddLocal? Ne devrait-il pas être en réalité l'identifiant de fonctionnalité? S'il vous plaît aider.



9
votes

J'ai trouvé ce que c'était que cela résout mon problème. Pour faire comme je l'avais prévu, je devais créer une case à cocher pour chaque fonctionnalité.

 <ComponentGroupRef Id="FeatureX"/>


3 commentaires

Cela provoque des problèmes si vous souhaitez installer silencieusement. Étant donné que le bouton n'est jamais cliqué, rien n'est jamais supprimé et que tout est toujours installé. Je suis affaire à ce moment.


Travailler toujours contre le problème d'installation silencieux. Y a-t-il une raison de choisir cette approche sur quelque chose comme TCP_CHECKBOX_RESULT = "TCP" < / Condition> ?


N'y a-t-il qu'un seul bouton suivant? Comment puisse ce prochain bouton savoir quelle fonctionnalité a été vérifiée? Je ne suis pas sûr de suivre la façon dont il sait quelle chose à installer.



2
votes

Ceci est mon exemple de code pour l'installation de fonctionnalités

produit.wxs xxx

userinterface.wxs xxx

Ça donnera Vous un installateur de base qui installe la base sur la case Cochez la case UI


0 commentaires