Ich versuche, während der Deinstallation ein Dialogfeld oder ein Meldungsfeld (mit Ja oder Nein-Schaltflächen) anzuzeigen.
Ich muss eine Eigenschaft mit der Wahl des Benutzers aus meinem Dialog (Ja (wahr) oder Nein (falsch)) festlegen.
Diese Eigenschaft ist wichtig, da alle Dateien gelöscht werden, wenn die Antwort des Benutzers "Ja" lautet.
Ich habe versucht, einen benutzerdefinierten Dialog bei der Deinstallation anzuzeigen, und das hat nicht funktioniert. Benutzerdefinierte Dialog gab mir keinen Fehler. Es erscheint nicht einmal im ausführlichen Protokoll. HierWie zeigt man Dialog oder Message Box während der Deinstallation in WiX?
ist der Brauch Dialog:
<Dialog Id="ClearAllDataDlg" Width="260" Height="85" Title="[Setup] - [ProductName]" NoMinimize="yes">
<Control Id="No" Type="PushButton" X="132" Y="57" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_No]">
<Publish Property="CLEARALLDATA" Value="0" />
<Publish Event="EndDialog" Value="Return">1</Publish>
</Control>
<Control Id="Yes" Type="PushButton" X="72" Y="57" Width="56" Height="17" Text="[ButtonText_Yes]">
<Publish Property="CLEARALLDATA" Value="1" />
<Publish Event="EndDialog" Value="Exit">1</Publish>
</Control>
<Control Id="Text" Type="Text" X="48" Y="15" Width="194" Height="30">
<Text>Do yo want to clear all data including your settings?</Text>
</Control>
<Control Id="Icon" Type="Icon" X="15" Y="15" Width="24" Height="24" ToolTip="Information icon" FixedSize="yes" IconSize="32" Text="[InfoIcon]" />
</Dialog>
und die InstallUISequence:
<Show Dialog="ClearAllDataDlg" Before="CostFinalize">REMOVE ~= "ALL"</Show>
Ich versuchte Nach = "MigrateFeatureStates" in der Reihenfolge, aber das hat nicht funktioniert.
In einer anderen Frage fragte jemand Stopping display of custom dialog boxes in WiX uninstall das ist lustig, weil alle anderen Fragen versuchen, das Gegenteil zu tun.
Ich möchte dies nicht innerhalb einer benutzerdefinierten Aktion durchführen, da ich den Deinstallationsprozess blockieren und auf die Antwort des Benutzers warten möchte.
Gibt es eine Möglichkeit, dies zu erreichen?
Jede Hilfe wäre willkommen. Vielen Dank!
Vielen Dank für Ihre Antwort. Ich habe es versucht und es hat funktioniert. Ich habe MessageBoxButtons.YesNo verwendet und die Eigenschaft je nach Benutzerauswahl festgelegt. Es kann den Fortschritt der Deinstallation blockieren und auf die Antwort warten, was erstaunlich ist. ** Hinweis: ** Wenn Sie ein C# Custom Action-Projekt verwenden, vergessen Sie nicht, die .CA.dll-Datei in der Binärtabelle in Product.wxs zu referenzieren. ** Noch ein Hinweis: ** Wenn Sie System.Windows.Forms verwenden, dann müssen Sie .NET Framework verwenden (Minimum unterstützte Version ist 1.0). Denken Sie also daran, dass dies ** NICHT ** auf einem Betriebssystem ohne .NET Framework ausgeführt wird . –