C# 从windows服务创建文件/文件夹时的最佳做法
我有一个作为普通用户运行的用户界面 用户界面通过tcp/ip与作为windows服务运行的服务器组件进行通信 该服务作为本地系统运行 我的问题是该服务在“ProgramData\MyApp”下创建了新文件夹。普通用户无法打开这些新创建的文件和文件夹,因为它们是由“系统”创建的 在安装过程中,“ProgramData\MyApp”目录的权限已经更改,因此每个人都有完全访问权限。但它不会被服务创建的子文件夹继承 服务是否应该更改已创建文件和文件夹的权限?或者,我可以准备“ProgramData\MyApp”文件夹以允许每个人访问新创建的文件和文件夹吗C# 从windows服务创建文件/文件夹时的最佳做法,c#,windows,permissions,windows-services,C#,Windows,Permissions,Windows Services,我有一个作为普通用户运行的用户界面 用户界面通过tcp/ip与作为windows服务运行的服务器组件进行通信 该服务作为本地系统运行 我的问题是该服务在“ProgramData\MyApp”下创建了新文件夹。普通用户无法打开这些新创建的文件和文件夹,因为它们是由“系统”创建的 在安装过程中,“ProgramData\MyApp”目录的权限已经更改,因此每个人都有完全访问权限。但它不会被服务创建的子文件夹继承 服务是否应该更改已创建文件和文件夹的权限?或者,我可以准备“ProgramData\My
修复:我的问题是从临时目录复制了具有错误权限的文件。临时目录中的权限已被继承…事件如果Windows服务作为本地系统运行,则应将其用于创建文件夹的代码。这样,调用该服务的用户将拥有文件夹和文件的完全权限
如果您想让任何本地用户访问该文件夹,您可以使用
AddAccessRule
,请查看此处请勿使用模拟。只需设置文件访问权限
下面是一个目录示例:(它对文件的作用相同)
MSDN:
- 得到
- 集合(举例)