2012-04-04 5 views
1

Ich habe ein WiX-Setup, bei dem der Benutzer einen Wert (den Speicherort einer ausführbaren Java-Datei) in einen regulären (nicht modalen) Dialog in der Installationsoberfläche eingibt. Ich rufe eine benutzerdefinierte Aktion auf, um diesen Dialogeintrag zu überprüfen, und setzt eine Umgebungsvariable (JAVA_ROOT_DIR_STATUS) korrekt auf einen Wert ("1" bis "6" für Fehler, "0" wenn alles in Ordnung ist) SpawnDialog, um eine Fehlermeldung anzuzeigen, wenn der Wert schlecht war, dann ein NewDialog innerhalb desselben Steuerelements mit der Bedingung, dass der Wert gut war. Nach einer Dokumentation, die ich gerade gefunden habe (http://www.advancedinstaller.com/user-guide/edit-control-event-dialog.html), kann ein bestimmtes Steuerelement nur das eine oder das andere haben - wenn sowohl SpawnDialog als auch NewDialog sind in der gleichen Kontrolle wird letztere verwendet und die erstere ignoriert.Wix - Wie man einen 'schlechte Eingabe' Dialog veröffentlicht und dann zum ursprünglichen Dialog zurückkehrt?

Wie implementiert man dann eine Überprüfung eines Benutzerwerts und eine Fehlermeldung, dass der Wert schlecht ist? Ich habe Empfehlungen für zwei NewDialogs gesehen (was merkwürdigerweise anscheinend funktioniert, aber bedeutet, dass das ursprüngliche Dialogfeld nicht mehr angezeigt wird und die einzeilige Fehlermeldung auf einer Seite angezeigt wird, die die gleiche Größe wie die normalen Seiten hat , das sieht wirklich schrecklich.

Wie würden Sie tun, ein ‚Pop-up‘ auf der Haupteinstiegsseite (wenn der Wert schlecht ist), sondern auf die nächste Seite, wenn der Wert gut ist?

Antwort

2

I Denken Sie vielleicht, dass die Dokumentation, die Sie erwähnen, über einen SpawnDialog und NewDialog spricht, die beide eine echte Bedingung haben.Ich habe das selbe getan, das Sie ohne Probleme beschreiben.

<Publish Dialog="CustomSetupTypeDlg" Control="TypicalButton" Event="NewDialog" Value="InstallDirDlg">CONDITION_OK</Publish> 
<Publish Dialog="CustomSetupTypeDlg" Control="TypicalButton" Event="SpawnDialog" Value="WarningDlg">NOT CONDITION_OK</Publish> 
+0

Danke - das ist die Antwort. Es behebt nicht wirklich eine zweite Frage, die ich hatte (wie man etwas zeigt, das auf dem Popup-Fenster im ursprünglichen Dialog eingegeben wurde), aber ich werde versuchen, eine zweite Frage dafür zu stellen, falls nötig. –

Verwandte Themen