AppData\Local\VirtualStore\Program Files(x86)"中?-6ren"> AppData\Local\VirtualStore\Program Files(x86)"中?-我最近更新了我的 Visual Basic 6.0应用程序,现在包含一个 exe.manifest 文件以防止 UAC虚拟化。应用此更新后,一些用户无法找到他们的数据文件(Access MDB 文件)-6ren">
gpt4 book ai didi

windows-vista - 为什么文件被放置在 "C:\Users\AppData\Local\VirtualStore\Program Files(x86)"中?

转载 作者:行者123 更新时间:2023-12-03 07:50:30 24 4
gpt4 key购买 nike

我最近更新了我的 Visual Basic 6.0应用程序,现在包含一个 exe.manifest 文件以防止 UAC虚拟化。应用此更新后,一些用户无法找到他们的数据文件(Access MDB 文件),并且在系统搜索后他们最终在 C:\Users\<username>AppData\Local\VirtualStore\Program Files(x86) 中找到了它。 .

这个文件夹区域是什么以及如何/何时将文件移动到这个区域?我们如何预防?我现在希望我的应用程序使用 .manifest这不会再发生了。当应用程序被放置在 UAC 虚拟化中时,文件是否在使用 list 之前放置​​在那里?

最佳答案

我的猜测是您的 list 显示为 asInvoker,并且您的应用程序尝试写入程序文件。当用户在没有 list 的情况下运行它时,它会写入 Program Files 的虚拟存储,这是他们后来找到一些文件的路径。当他们使用 list 运行时,它根本无法写入(访问被拒绝),但是您的应用程序向他们隐藏了错误,或者他们不理解错误,因此他们没有向您提及。

短期修复 - 使用 requireAdministrator list 。这会激怒用户,但写入会成功。长期修复 - 不要写入 ProgramFiles。有更好的每用户选项,例如 AppData。

关于windows-vista - 为什么文件被放置在 "C:\Users\<username>AppData\Local\VirtualStore\Program Files(x86)"中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3219255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com