.Net FileIOPermission&的ApplicationData

时间:2008-12-04 04:30:39

标签: .net file-io

尝试在某些计算机上的Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)中创建文件夹时,会引发FileIOPermssion异常。我已经确定有问题的计算机上运行某种形式的防病毒软件,但是我无法与他们的IT部门联系,以了解他们具体使用的是什么。

有没有其他人遇到这样的问题?我已经尝试了谷歌搜索一段时间,并没有想出任何东西。我需要做些什么来保证对ApplicationData的写权限吗?

3 个答案:

答案 0 :(得分:1)

我在另一个可能是答案的论坛上收到了另一个答案,但我必须先验证它。基本上他们建议用户可能已经在网络共享上安装了应用程序,而不是直接在硬盘驱动器上安装,这意味着应用程序无法以完全信任的方式运行。如果是这种情况,建议的修复方法是使用isolated storage而不是ApplicationData。

如果使用隔离存储解析它,我将验证这是问题并进行更新。

答案 1 :(得分:0)

Vista或XP。或者更重要的是,在XP上没有问题,但在Vista上存在问题?您可能正在与UAC发生冲突,这对于检查各种操作所需的安全权限更为严格。我在编写的打印机设置程序中遇到了类似的问题 - 在XP上工作正常,但在Vista中从网络共享运行时需要强命名和一些GPO调整。

编辑:由于这似乎不是问题,您可以检查是否已启用文件夹重定向,如果是,则如何配置。写入网络共享而不是本地磁盘可能是一个问题。或者可能有一个GPO阻止对ApplicationData文件夹的写访问 - 或者通常是软件安装。

答案 2 :(得分:0)

问题肯定是由于从网络驱动器运行应用程序造成的。这使应用程序进入部分信任,这阻止写入ApplicationData目录。隔离存储应该可以解决这个问题,但我也没有任何运气。它产生与直接使用其他文件IO命令完全相同的错误。

可行的一件事是安装.NET 3.5框架,该框架更改了在网络共享上运行的应用程序的默认信任级别。