尝试写入文件夹时,C#Windows服务访问被拒绝

我已经在Windows 7机器上成功部署了C#windows服务

现在,当我尝试使用此代码创build一个文件时:

FileStream os = new FileStream(String.Format(folderName, fileName), FileMode.Create); 

我得到的文件path访问被拒绝。

在服务安装程序中,我将以下参数设置为:

  this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem; this.serviceProcessInstaller1.Password = "Pass"; this.serviceProcessInstaller1.Username = "Administrator" 

我将所有可能的帐户都添加了完整权限到我要创build该文件的文件夹,但没有任何帮助。

任何build议将不胜感激

您以错误的方式使用String.Format() 。 看看msdn http://msdn.microsoft.com/en-us/library/fht0f5be.aspx

你可能想要类似的东西

 FileStream os = new FileStream(folderName +@"\" + fileName, FileMode.Create); 

要么

 FileStream os = new FileStream(String.Format(@"{0}\{1}", folderName fileName), FileMode.Create); 

要么

 FileStream os = new FileStream(Path.Combine(folderName fileName), FileMode.Create); 

可能不是答案。 但是,首先记录服务试图访问的确切路径。 然后,通过使用您提供给服务的凭据登录到计算机并尝试访问该路径。

 string fullPath = String.Format(folderName, fileName); logger.Write(fullPath); FileStream os = new FileStream(fullPath, FileMode.Create);