我有一个 Windows 服务,使用 login 运行localhost\administrator
。该服务旨在调用另一个可执行文件 ( MyProcess.exe
),它应该将一些内容写入日志文件。该服务用于Process.Start()
创建流程,如下所示:
var p = new Process();
p.StartInfo.FileName = processFileName;
p.StartInfo.Arguments = arg;
p.Start();
问题是,似乎MyProcess.exe
被拒绝写入日志文件的权限,即使localhost\administrator
毫无疑问地拥有日志文件夹的权限。如果我从命令行运行MyProcess.exe
,它会完美运行。
那么,是否有可能使用不同的用户登录名执行该过程?
您能想到任何其他原因MyProcess.exe
被拒绝写入日志文件的权利吗?
更新:日志文件正在写入本地机器,但使用网络地址,即\\MyPC\LogFolder
. 当我将代码更改为引用时C:\MyFolder
,一切正常。显然网络地址有问题(即使它是本地的)。
我需要对文件夹进行哪些共享设置,以便本地系统帐户可以访问该文件?