如何在C#.Net中的Windows7的C目录中创建目录

如何在C#.Net中的Windows7的C目录中创建目录,c#,C#,我正在编写异常日志(例如log.txt),我想在下面的路径“C:\ProgramFiles(x86)\App\log”中写入。当我这样做时,我得到了整个路径作为访问被拒绝,这意味着我不能创建名为Log的文件夹并同时写入Log.txt,我还有压缩代码来压缩日志文件,如Log.zip,它是基于天的?我确实尝试了堆栈溢出中的一些代码片段,但显然没有任何效果 我如何解决这个问题 问候,, Gibson您收到的错误很可能是由于普通用户没有权限在“C:\Program files(x86)\”目录下创建文件

我正在编写异常日志(例如log.txt),我想在下面的路径“C:\ProgramFiles(x86)\App\log”中写入。当我这样做时,我得到了整个路径作为访问被拒绝,这意味着我不能创建名为Log的文件夹并同时写入Log.txt,我还有压缩代码来压缩日志文件,如Log.zip,它是基于天的?我确实尝试了堆栈溢出中的一些代码片段,但显然没有任何效果

我如何解决这个问题

问候,,
Gibson

您收到的错误很可能是由于普通用户没有权限在“C:\Program files(x86)\”目录下创建文件夹或文件这是故意的,因为普通用户不应该写入该目录

应用程序由管理用户或具有提升权限的用户安装在该目录下。应用程序应将日志文件写入用户配置文件目录下的某个位置,例如“%appdata%”下的某个位置

我在一个IT部门工作,我们必须支持写得很差的供应商软件,这些软件需要更新%programfiles%目录下的文件,这简直是一场噩梦。我们不希望我们的用户通常拥有写入该文件夹的权限,因为它可能允许恶意软件——病毒等——秘密修改我们的应用程序。然而,我们必须在我们的病毒软件中进行例外处理,并不断维护这个异常应用程序文件夹的特殊安全性,不幸的是,我们的业务依赖于此。故事的要点是:不要这样做。这是一种不好的做法,您的客户不会满意。

  • 在windows 7上创建文件夹和文件不对任何用户打开 只有授权用户才能创建文件或文件夹
  • 您可以将权限授予上主目录中的每个人 您要添加哪个文件夹,或者您可以签入应用程序池 正在启动iis并授予其主文件夹权限的用户

也可能是进程无权在程序文件“以管理员身份运行”中创建文件夹/文件或在其他地方写入日志,因为程序文件不用于日志记录。只有在提升权限的情况下才能写入这些目录。您应该将这些日志文件写入appdata文件夹。您是否尝试过创建没有绝对地址的文件<代码>使用(FileStream stream=new FileStream(“Log\Log.txt”)、FileMode.OpenOrCreate、FileAccess.ReadWrite)使用(StreamWriter writer=new StreamWriter(stream)){writer.WriteLine(“Log Text”);}