WinUI 3 打包应用程序未在 AppData 中创建文件夹

2023-11-29

在 WinUI 3 打包应用程序中,我尝试在中创建一个文件夹AppData\Local\MyApp。在我的应用程序启动中,我正在执行以下操作:

public App()
{
  string apf = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
  string fp = Path.Combine(apf, "MyApp");
  Directory.CreateDirectory(fp);
}

这不会在 AppData/Local 中创建任何目录。

当我运行这个时:

public App()
{
  string apf = KnownFolders.GetPath(KnownFolder.AppData);
  string fp = Path.Combine(apf, "MyApp");
  Directory.CreateDirectory(fp);
}

在 AppData\LocalLow 中创建了一个名为“MyApp”的目录,这不是我正在寻找的目录。对我可能做错了什么有什么想法吗?


MSIX 的功能之一是它在执行期间自动将对 AppData 的写入重定向到私有的每用户、每应用位置。

这意味着您的目录实际上将位于 %localappdata%\Packages\PublisherName.AppName_hash\LocalCache\Roaming 中。

此行为是设计使然,也是遵守干净卸载应用程序承诺的要求,即删除应用程序时所有内容都会被删除。

如果确实想从 MSIX 打包应用程序写入“真实”非虚拟化 %AppData% 位置,则必须按照建议编辑应用程序清单来禁用文件重定向here。请注意,这有一些限制,不建议这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WinUI 3 打包应用程序未在 AppData 中创建文件夹 的相关文章

随机推荐