【问题标题】:How do I get UWP Uninstall to remove database completely?如何让 UWP Uninstall 完全删除数据库?
【发布时间】:2018-12-15 20:25:01
【问题描述】:

我已设法通过桌面桥将 XAF 应用程序导入 Windows 应用商店。

当用户从 Windows 应用商店安装我的软件然后选择卸载时, 我希望他们可以选择完全卸载包括数据库在内的软件。 这样他们以后决定重新安装时不会有任何问题吗?

目前,UWP 卸载没有提供删除数据库的选项(甚至解释如何删除它)因此用户可能会想通过 Windows 资源管理器删除数据文件 - 这仍然会留下一些 LocalDB 实例维护一个数据库列表中的条目。

因此在删除数据库文件后第二次安装时,UWP 程序会显示错误

"Login failed for user" 

如解释in this question

我的连接字符串正在使用

(localdb)\mssqllocaldb

如何自动完全删除数据库和内存?

即我可以使用什么卸载事件,我在哪里覆盖什么?

我在桌面桥本身中看不到任何可执行代码。

目前我认为我可能需要在实际程序中添加“卸载前运行”选项。

或者作为一种解决方法,我应该为“用户登录失败”错误编写一个清理处理程序。

This issue is related

我正在使用 Entity Framework 6.2 和 .Net Framework 4.7.2

Bridge 项目使用的是 Windows 10 版本 1809,内部版本 17763(最小和目标)

【问题讨论】:

  • 你的意思是要删除uwp中的数据库吗?
  • @NicoZhu-MSFT 是的,我想要一个选项来做到这一点。从另一个问题中注意到,仅仅删除数据库和日志文件是不够的。
  • 原数据库不会导致用户登录失败,您是否检查过其他问题?
  • @tiagoperes 不会完全删除数据库,这正是我想要的。不过,这可能是解决重新安装问题的方法。

标签: entity-framework-6 windows-store xaf desktop-bridge


【解决方案1】:

请参阅 Getting Started with EF Core on Universal Windows Platform (UWP) with a New Database。它介绍了迁移的使用。迁移旨在帮助您更改数据库设计并在生产中实施更改。但是,迁移可能会令人沮丧,因为 Microsoft 尚未彻底记录该功能。 SQLite 不支持迁移功能的列表;从一开始就知道这一点很重要。

【讨论】:

  • 如果您需要其他答案,请评论此答案
  • 问题与OneNote无关
  • 哦。抱歉,我知道如何用一张便条做到这一点,但我认为这就是
  • 我更新了我的问题以表明我正在使用 EF 6.2。我也在使用迁移,我认为这与问题无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-26
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
  • 2021-05-13
  • 1970-01-01
  • 2021-12-18
相关资源
最近更新 更多