wix - 如何在程序和功能中自定义卸载对话框

标签 wix

我正在开发一个 Wix 项目,需要询问用户在卸载时是否要删除数据库。我在 Wix 项目的 UI 中添加了对话框和控件。当我单击 MSI 时,会显示自定义的卸载对话框,但当我通过“程序和功能”中的“卸载”单击它时却不会。

我需要做什么才能从程序和功能卸载中显示相同的自定义卸载对话框?

最佳答案

或者,您可以通过自定义操作使用一个很好的功能,告诉 session 显示各种对话框类型:

Record record = new Record();
record.FormatString = string.Format("Would you like to remove program-generated data?");

MessageResult value = session.Message(InstallMessage.User | (InstallMessage)MessageBoxButtons.YesNo, record);

if (value == MessageResult.Yes)
{
     // Remove program-generated data
}

请参阅此处,了解我想出此解决方案的位置:http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/UI-on-uninstall-td7593560.html#a7593572

请参阅此处了解您可以提供的各种对话框:https://msdn.microsoft.com/en-us/library/windows/desktop/aa371672(v=vs.85).aspx

要仅在卸载时使用此自定义操作,请按如下方式安排:

<CustomAction Id="ShowDialog" BinaryKey='CustomActionsBinary' DllEntry='ShowDialogRemoveFiles' 
              Execute='immediate' Return='check' Impersonate='no'/>

<Binary Id='CustomActionsBinary' SourceFile='CustomActions.CA.dll'/>

<InstallExecuteSequence>
  <Custom Action='ShowDialog' Before='InstallFinalize'>REMOVE</Custom>
</InstallExecuteSequence>

关于wix - 如何在程序和功能中自定义卸载对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39377461/

相关文章:

wix - 使用 x64 dll 获取错误 HEAT5150

wix服务依赖项

wix - 卸载问题

wix 生成新的升级代码

file - 如何处理 wix 源路径中的空格?

Wix Custom BA 妥善处理升级

wix - (WiX) 将同一文件安装到多个位置

msbuild - 使 WIX 安装程序将文件放置在 AppData 中

.net - 如何构建更新通知?

c# - 如何在wix中显示自定义安装程序的登录信息