【问题标题】:Application stopped writing to AppData应用程序停止写入 AppData
【发布时间】:2023-02-18 01:46:14
【问题描述】:

我有一个为 Windows 应用商店打包的 .Net WPF 应用程序。它没有文件夹虚拟化。 IE。它写给%应用程序数据%.

我现在已经在我的 PC 上重新安装了 Windows (10),现在它可以进行文件夹虚拟化,即它不写给%应用程序数据%.请参阅Microsoft's documentation here,这不应该发生(如果我理解正确的话)。

(Windows 版本可能在重新安装时已经更新,即使它在重新安装之前是最新版本,也许它有一个可选的 Windows 更新。版本现在是 19045.2130。)

我在 Windows 应用商店和 Visual Studio 中都对此进行了测试。

为什么文件夹虚拟化会发生变化?

【问题讨论】:

  • 你提到它使用功,对吧?当时的Windows是什么版本?
  • @RoyLi-MSFT 无论上周“当前”版本是什么。这也许正是我现在所拥有的。

标签: c# .net .net-6.0 visual-studio-2022 desktop-bridge


【解决方案1】:

如您链接的帖子中所述,Microsoft 在 1903 版本中进行了更改,将此功能添加到您打包的 fulltrust 应用程序中。从那以后这件事最近没有任何改变,所以我不知道你为什么现在注意到这种行为,但可能是你的样子。

当您的应用程序写入 %APPDATA% 时,该文件将被重定向到私有区域(在 %LocalAppData%/Packages/LocalCache... 下)。在程序包中运行的应用程序在引用文件路径的 %APPDATA% 时将看到更改的文件。外部文件资源管理器将只能看到重定向位置中的数据文件。

假设应用为了漫游该数据(通过漫游配置文件、文件夹重定向或 UEM 产品)而写入 %APPDATA% 很重要,这对您来说是个问题。

  • UEM 产品可以配置为从此新位置取货。
  • 您可以将 PSF FileRedirectionFixup 添加到您的包以重定向到主驱动器位置 - 这直接映射到文件夹重定向案例。
  • 对于其他情况,替代方案当然是升级您的源代码以使用添加到 .Net Framework 4.8 的 System.Configuration API 来存储设置。

蒂姆

【讨论】:

    猜你喜欢
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多