首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSIX无法在AppData中创建文件夹

MSIX无法在AppData中创建文件夹
EN

Stack Overflow用户
提问于 2022-04-08 14:49:32
回答 1查看 280关注 0票数 1

我有一个从MSIX安装程序安装的应用程序。它正在成功安装,但在安装后执行时,我得到一个错误,即C:/UserName/AppData/漫游/MyApplication中没有这样的文件。

我试过的是:

  1. 在应用程序非常困难的情况下创建文件夹(来自C#代码)。

结果:它是在某个地方创建的,但我显然无法在磁盘上看到它。即使我尝试在该目录中创建文件,我也可以毫无例外地这样做。所以我确信这个文件夹存在。在某个地方。当我从MSIX运行应用程序时,它给了我前面提到的异常。

  1. 我从操作系统手动创建了文件夹,以查看错误是否会持续存在。

结果:我运行了MSIX的应用程序,一切都很好。

  1. 在最后一步中,我试图访问C:/WindowsApp文件夹( MSIX正在安装的地方)的私密性,并尝试通过执行.exe (而不是以前的MSIX )手动运行应用程序,以查看错误是否会持续。

结果:它没有问题地创建了那些文件夹,并且应用程序运行良好。

有什么想法我做错了什么,或者我能做什么来避免这个错误?

PS。我不能更改路径C:/UserName/AppData/Roaming/MyApplication的位置,因为它是由第三方dll (Devexpress)创建的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-11 13:59:08

  1. 尝试在此路径下搜索文件:

C:\Users\User\AppData\Local\Packages(hash)....

那就是所有MSIX打包的应用程序都重定向他们的AppData资源。的位置。

但是,如果发现这些文件存在于“真正的”AppData文件夹中,则应用程序将处理该副本,而不是来自虚拟化位置的副本(这是微软的国际行为,目的是使应用程序从经典安装程序过渡到MSIX)。这就是为什么应用程序在手动创建文件夹之后工作。

另外,请注意,来自虚拟位置的文件只能由您的应用程序访问,其他人不能从机器上访问。

  1. 我怀疑,当从安装文件夹(而不是从开始菜单入口点)直接运行EXE时,OS不会在MSIX包的容器中启动应用程序,因此,作为打包应用程序运行的规则都不适用。因此,您可以忽略此场景。

返回到#1,并尝试搜索我提到的路径下的文件。您是如何访问AppData路径的?我想他们在行中使用了一些东西(这应该可以):

代码语言:javascript
复制
Environment.GetFolderPath(Environment.SpecialFolder.)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71799048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档