Chu*_*age 3 c# windows-services file-security
我有一个运行良好的自定义安装程序,但每次更新应用程序时它都会要求用户提供管理员权限。我正在创建一个跳过这部分的 Windows 服务,但 Windows 服务仅授予该文件的系统和管理员权限,并且用户无法执行新的更新。
为了纠正这个问题,我正在尝试(在文件下载/安装到正确的位置之后(从 Windows 服务中,它具有帐户 ServiceAccount.LocalSystem),
FileSecurity access = file.GetAccessControl();
SecurityIdentifier everyone = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
access.AddAccessRule(new FileSystemAccessRule(everyone, FileSystemRights.ReadAndExecute, AccessControlType.Allow));
Run Code Online (Sandbox Code Playgroud)
但设置不生效。从这里我应该做什么?
我想到了。我只需要打电话,
file.SetAccessControl(access);
Run Code Online (Sandbox Code Playgroud)
在上述之后。显然,file.GetAccessControl 会传回访问控制的副本,而不是控制文件的文件权限的副本,直到您使用修改后的权限调用 file.SetAccessControl 为止。
我在该服务在 c:\ProgramData 中创建的另一个文件中发现了另一个警告,
| 归档时间: |
|
| 查看次数: |
5630 次 |
| 最近记录: |