修改文件权限.NET适用于Windows 10,但不适用于Server 2008

时间:2018-06-08 19:02:49

标签: c# .net file-permissions

我有一个Configuration.ini文件,在NSIS安装程序安装期间复制到Program Files (x86)\myapp\目录。复制时,它没有我需要的权限,所以我尝试使用此处的信息进行更改: How to grant full permission to a file created by my application for ALL users?

private void GrantAccess(string fullPath)
{
    DirectoryInfo dInfo = new DirectoryInfo(fullPath);
    DirectorySecurity dSecurity = dInfo.GetAccessControl();
    dSecurity.AddAccessRule(new FileSystemAccessRule(new SecurityIdentifier(WellKnownSidType.WorldSid, null), FileSystemRights.FullControl, InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit, PropagationFlags.NoPropagateInherit, AccessControlType.Allow));
    dInfo.SetAccessControl(dSecurity);
}

在我的个人电脑上进行开发时,该文件会获得权限设置,但是当我将其部署到Windows 2008或2012服务器时,它不会更改。有2个exe文件需要访问/修改设置,一个是以LocalSystem运行的服务,另一个是本地用户。

是否有一种更加万无一失的方式适用于Windows 7的所有操作系统?

0 个答案:

没有答案