2 votes

`<Show Dialog="CustomTextA" OnExit="success" />` ne fonctionne pas

J'ai le code suivant dans mon wxs fichier :

  <UI>
      <Dialog Id="CustomTextA"
              Width="370"
              Height="270"
              Title="$(loc.InstallDirDlg_Title)">
          <Control Id="NextButton"
                   Type="PushButton"
                   X="236"
                   Y="243"
                   Width="56"
                   Height="17"
                   Default="yes"
                   Text="$(loc.WixUINext)">
              <Publish Event="EndDialog"
                       Value="Return"><![CDATA[CustomTextA_NextArgs=""]]></Publish>
              <Publish Event="NewDialog"
                       Value="[CustomTextA_NextArgs]"><![CDATA[CustomTextA_NextArgs<>""]]></Publish>
          </Control>
          ....
      </Dialog>

      <InstallUISequence>
          <Custom Action="CustomTextA_SetProperty_EDIT2"
                  After="CustomTextA_SetProperty_EDIT1" />
          <Custom Action="CustomTextA_SetProperty_EDIT1"
                  After="ValidateProductID" />
          <Custom Action="CustomTextA_SetProperty_EDIT3"
                  After="CustomTextA_SetProperty_EDIT2" />
          <Custom Action="CustomTextA_SetProperty_EDIT4"
                  After="CustomTextA_SetProperty_EDIT3" />

          <Custom Action="ERRCA_UIANDADVERTISED"
                  Before="AppSearch"><![CDATA[ProductState=1]]></Custom>

          <Show Dialog="CustomTextA"
                OnExit="success" />
      </InstallUISequence>

      <AdminUISequence>
          <Show Dialog="CustomTextA"
                OnExit="success" />
      </AdminUISequence>
  </UI>

mais CustomTextA ne s'affiche pas lorsque l'installation s'achève avec succès, et la boîte de dialogue standard ExitDialog est affiché.

Qu'est-ce qui peut être faux dans le code ?

Je ne suis pas sûr de ce que les actions douanières comme Custom Action="CustomTextA_SetProperty_EDIT2" pour, mais je les ai laissé fournir le code tel qu'il est.

La version de Wix est 3.11 (il y a probablement eu un problème lors de la mise à niveau à partir d'une version antérieure de Wix).

1voto

Glytzhkof Points 5037

Résumé : S'il vous plaît, essayez de téléchargez l'échantillon ci-dessous et jetez-y un coup d'oeil dans Visual Studio. Lisez également la description étape par étape ci-dessous pour savoir comment l'utiliser comme modèle. Je rassemblerais toutes les marques de l'interface graphique dans le fichier WixUI_MyMondo.wxs fichier. N'oubliez pas de parcourir les réponses précédentes qui sont également liées. .


Exemple de dialogue personnalisé WiX : J'ai un Exemple d'interface graphique personnalisée WiX ici (cliquez simplement sur télécharger). Il s'agit d'un "Hello WiX" qui se veut aussi simple que possible, mais pas plus. En d'autres termes, il ne fait que deux choses.

  • Il copie le balisage source standard du dialogue WiX dans le fichier WixUI_Mondo.wxs et appelle le nouveau fichier WixUI_MyMondo.wxs . Il est placé à côté de Product.wxs .
  • Les principaux Product.wxs puis inclut la version personnalisée avec <UIRef Id="WixUI_MyMondo" /> (au lieu de la norme <UIRef Id="WixUI_Mondo" /> ) permettant à l WixUI_MyMondo.wxs à modifier comme vous le souhaitez.
  • Les autres boîtes de dialogue sont liées à partir de l'onglet WixUIExtension.dll (comme d'habitude).
  • Je garde toujours tous les événements de dialogue et les configurations à l'intérieur. WixUI_MyMondo.wxs - ce qui signifie que j'essaie d'éviter les constructions de dialogue à l'intérieur de Product.wxs .

Veuillez télécharger et vérifier l'échantillon. Il est impossible - pour autant que je sache - d'en déduire davantage à partir du balisage que vous avez fourni.


Réponses précédentes : Voici deux réponses précédentes sur la question de l'interface graphique de WiX. Plutôt que de réécrire le contenu d'une manière qui pourrait passer à côté de votre vraie question, veuillez les parcourir, voulez-vous ?


Liens : Quelques liens supplémentaires ici sur l'interface graphique d'installation. La brûlure est celle de WiX setup.exe générateur. Il peut avoir sa propre interface graphique distincte de celle intégrée dans les fichiers MSI.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X