我有一个从MSIX安装程序安装的应用程序。它正在成功安装,但在安装后执行时,我得到一个错误,即C:/UserName/AppData/漫游/MyApplication中没有这样的文件。
我试过的是:
结果:它是在某个地方创建的,但我显然无法在磁盘上看到它。即使我尝试在该目录中创建文件,我也可以毫无例外地这样做。所以我确信这个文件夹存在。在某个地方。当我从MSIX运行应用程序时,它给了我前面提到的异常。
结果:我运行了MSIX的应用程序,一切都很好。
结果:它没有问题地创建了那些文件夹,并且应用程序运行良好。
有什么想法我做错了什么,或者我能做什么来避免这个错误?
PS。我不能更改路径C:/UserName/AppData/Roaming/MyApplication的位置,因为它是由第三方dll (Devexpress)创建的。
发布于 2022-04-11 13:59:08
C:\Users\User\AppData\Local\Packages(hash)....
那就是所有MSIX打包的应用程序都重定向他们的AppData资源。的位置。
但是,如果发现这些文件存在于“真正的”AppData文件夹中,则应用程序将处理该副本,而不是来自虚拟化位置的副本(这是微软的国际行为,目的是使应用程序从经典安装程序过渡到MSIX)。这就是为什么应用程序在手动创建文件夹之后工作。
另外,请注意,来自虚拟位置的文件只能由您的应用程序访问,其他人不能从机器上访问。
返回到#1,并尝试搜索我提到的路径下的文件。您是如何访问AppData路径的?我想他们在行中使用了一些东西(这应该可以):
Environment.GetFolderPath(Environment.SpecialFolder.)https://stackoverflow.com/questions/71799048
复制相似问题