我想在卸载过程中显示一个对话框或消息框(带有是或否按钮)。
我需要从我的对话框(是(true)或否(false))中设置用户选择的属性。
此属性非常重要,因为如果用户的回答为“是”,所有文件都将被删除。
我试图显示卸载时的自定义对话框,并没有奏效。自定义对话框没有给我一个错误。它甚至不出现在详细日志中。如何在WiX卸载时显示对话框或消息框?
这里是自定义对话框:
<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>
和InstallUISequence:
<Show Dialog="ClearAllDataDlg" Before="CostFinalize">REMOVE ~= "ALL"</Show>
我试过后的序列= “MigrateFeatureStates”,但也不能工作。
在另一个问题有人问Stopping display of custom dialog boxes in WiX uninstall这很有趣,因为所有其他问题都试图做到相反。
我不想在自定义操作中执行此操作,因为我想阻止卸载进度并等待用户的答案。
有什么办法可以做到这一点?
任何帮助,将不胜感激。谢谢!
谢谢你的回答。我试过你的方式,它的工作。我使用MessageBoxButtons.YesNo并根据用户的选择设置属性。它可以阻止卸载进程,并等待答案,这是惊人的。 **注意:**如果您使用C#自定义操作项目,请不要忘记将.CA.dll文件引用到Product.wxs中的二进制表。 **另一个注意事项:**如果您使用System.Windows.Forms,那么您必须使用.NET Framework(最低支持版本为1.0),所以请记住,这将**不运行在没有.NET Framework的操作系统上。 –