Bitte lesen Sie sorgfältig, wie ich erklären werde, was ich versuche zu tun. Ich habe ein Wix-Installationsprogramm, das benutzerdefinierte Aktion aufruft, um Benutzereingaben zu überprüfen. Ich möchte nächste Dialog aufrufen, wenn die Validierung erfolgreich ist und sich nicht bewegen, wenn die Validierung nicht erfolgreich istWix - Benutzerdefinierte Action Return Code - Handhabung
- I
- Die benutzerdefinierte Aktion bestätigt Benutzername und Passwort
- eine benutzerdefinierte Aktion haben Wenn die Validierung erfolgreich ist, die benutzerdefinierte Aktion setzt eine Eigenschaft ([CONNECTED] = 1) auf 1
- Wenn die Validierung fehlschlägt, wird der Eigenschaftswert auf "leer" gesetzt und dann ein Meldungsfeld angezeigt, das den Wert inkorrekt anzeigt
- Die benutzerdefinierte Aktion (C#) wird in my ausgeführt Dialog in der nächsten Taste
- Die benutzerdefinierte Aktion läuft gut, und es erscheint bei einem Fehler Hier ist das Problem Wenn es einen Fehler gibt, wird ein Popup gemacht und mein WIX-Installer springt zum Ende-Dialog (FINISH), nur um mir die Option zu geben Beenden Sie die Installation. Oder es wird mir manchmal den nächsten Dialog geben, obwohl es fehlgeschlagen ist. Hier ist der Code zum Ausführen meiner benutzerdefinierten Aktion.
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]"> <Publish Event="DoAction" Value="MyCustomAction">1</Publish> <Publish Event="NewDialog" Value="CustomizeDlg">CONNECTED= "1"</Publish> </Control>
Meine Frage ist, warum es nicht im aktuellen Dialog bleiben, wenn es einen Fehler bedeutet, dass es keinen 1. zurückgekommen Es geht zum Dialog auf Fertig stellen, nachdem ich auf OK klicken.
Ich habe versucht, Code mehrmals zu bearbeiten. Hier ist mein Code. ' 1 CONNECTED = "1" ' –
Dee
jederzeit es gibt einen actionresult.failure es geht stattdessen Dialog zu beenden in diesem Dialogfeld zu bleiben – Dee
Manchmal ist ein Fehler aufgrund der Dialogsequenz aufgetreten, es handelt sich nicht um einen Fehler bei benutzerdefinierten Aktionen. Versuchen Sie, Protokollnachrichten mit msiexec/i your_package.msi/L * vx your_package.log zu generieren, um weitere Details zu Ihrem Fehler zu erhalten. – sumitani