2017-04-10 5 views
2

Ich habe folgende CustomAction, die WixQuietExec verwendet, um eine andere Anwendung auszuführen. Wenn die Aktion fehlschlägt, ruft das MSI-Installationsprogramm keine Fehlerdialoge auf, die es für Benutzer schwer machen festzustellen, ob die Installation erfolgreich abgeschlossen wurde oder nicht.Wie Fehlerdialog für fehlgeschlagene WixQuietExec CustomAction angezeigt wird

Kann in diesem Fall ein Fehlerdialog angezeigt werden? Ehrlich gesagt wird jeder Standardfehlerdialog funktionieren, aber die benutzerdefinierte Fehlermeldung wäre noch besser.

<SetProperty Id="MyAction" 
       Value="&quot;myprog.exe&&quot;" 
       Sequence="execute" 
       Before="MyAction" /> 
    <CustomAction Id="MyAction" 
        BinaryKey="WixCA" 
        DllEntry="WixQuietExec" 
        Impersonate="no" 
        Execute="deferred" 
        Return="check" /> 

    <InstallExecuteSequence> 
     <Custom Action="MyAction" After="InstallFiles" /> 
    </InstallExecuteSequence> 
+0

Nun, es heißt Wix * Quiet * Exec aus einem Grund. Sie können die benutzerdefinierte Aktion ['WixShellExec'] (http://wixtoolset.org/documentation/manual/v3/customactions/shellexec.html) ausprobieren. [Verwendungsbeispiel] (http://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.html). Ich habe es nie benutzt, aber vielleicht hat es eine Fehler-UI. – zett42

Antwort

0

Welchen Exitcode gibt myprog.exe zurück, wenn es fehlschlägt? Sie setzen return, um zu überprüfen, also wenn es einen < 0 Beendigungscode zurückgibt, sollte es das Installationsprogramm veranlassen, zurückzurollen und das Installation fehlgeschlagene Dialogfeld anzuzeigen. Ich würde nicht einen Dialog im Moment des Scheiterns wollen, denn wenn es für 10-15 Minuten lief und dann fehlschlug, würden Sie 10-15 Minuten warten, bis der Rollback beendet ist.

Vielleicht ist das eigentliche Problem, dass Benutzer nicht den letzten Dialog lesen, um zu sehen, ob es beendet oder fehlgeschlagen ist.

Verwandte Themen