2009-08-18 4 views
1

Ich habe ein WIX-Installationsprogramm und ich versuche herauszufinden, was diese Zeile eigentlich macht (an die nächste Schaltfläche in meinem WIX-Dialog angehängt).Was macht EndDialog?

Es scheint mir, dass diese Zeile bedeutet, dass wir die Kontrolle an den Installer übergeben, nachdem wir unsere benutzerdefinierten Dialoge angezeigt haben. Aber wie weiß es dann, welcher Dialog als nächstes angezeigt wird? Es sollte in meinem Fall den Dialog zeigen, der den Installationsfortschritt anzeigt, aber es springt in den falschen Dialog.

Wenn ich es dies zu ändern (ProgressDlg der Dialog Installationsfortschritt in dem WixUI_Minimal UI Satz zeigt, die denjenigen ist, ich will eigentlich springen),

<Publish Event="NewDialog" Value="ProgressDlg" >1</Publish> 

Es wirft einen Fehler, wenn ich versuche, install

Antwort

2

OK, ich bin anscheinend über etwas gestolpert, das jetzt funktioniert, aber ich verstehe nicht wirklich warum. Kommentare würden geschätzt.

Ich habe diese Dialogsequenz,

WelcomeEulaDlg (part of WixUI_Minimal) 
CustomInstall 
StartAutomaticallyUI 
IC3DatabaseSelection 
GSDatabaseSelectionUI 
ProgressDlg (part of WixUI_Minimal) 

Also im Grunde habe ich 4 Dialoge erstellt, die zwischen den EULA und Installation Fortschrittsdialog kommen.

Ich hatte diese Dialoge in einem InstallUISequence-Block, so dass die Verwendung von Orca diese Dialoge innerhalb der InstallUISequence-Tabelle anzeigen würde.

Dies schien mein Problem zu sein. Sobald ich die Dialoge aus dem Block entfernt habe und nur den ersten Dialog im Block hatte (was CustomInstall ist), funktionierte es einwandfrei.

Jetzt sieht es so aus, während sie vor, dass Tabelle

<InstallUISequence> 
    <Show Dialog="CustomInstall" After="WelcomeEulaDlg" >NOT Installed</Show> 
</InstallUISequence> 

Die Art, wie ich zusammen diese Dialoge verbinden alle anderen Dialoge hatte und machte sie alle enthalten war nur durch die nächste und Zurück-Tasten zusammen zu verbinden. Sie mussten nicht in der InstallUISequence enthalten sein.

Ich habe diese Idee von der Verwendung der WixAware-Demo und das Erstellen eines Projekts in dort.