La funzione seguente funziona su Windows XP, ora sto provando con Windows 7 restituisce l'errore IdentityNotMappedException cosa c'è di sbagliato? Ho anche cambiato l'applicazione requestexecutionlevel ad admin.Imposta regola di accesso ai file
private static void file_accessdeny(string fileName)
{
try
{
System.Security.AccessControl.FileSecurity accessdeny = System.IO.File.GetAccessControl(fileName);
accessdeny.SetAccessRule(new System.Security.AccessControl.FileSystemAccessRule("Everyone", System.Security.AccessControl.FileSystemRights.FullControl, System.Security.AccessControl.AccessControlType.Deny));
System.IO.File.SetAccessControl(fileName, accessdeny);
}
catch (System.Exception E)
{
Console.WriteLine(E.Message);
System.Windows.Forms.MessageBox.Show(E.Message, "access deny");
}
}
Errore: System.Security.Principal.IdentityNotMappedException: Alcuni o tutti i riferimenti di identità non possono essere tradotti
L'installazione di Windows 7 utilizza la stessa lingua di quella XP? ... utilizzare IdentityReference anziché la stringa "Everyone" ... in modo da non doversi preoccupare della cultura in uso al momento. È possibile utilizzare il noto SID per Tutti ... SID = "S-1-1-0" –