認証されたすべてのユーザーがアプリケーション関連の設定を保存するためのフォルダーへのアクセス権を追加する必要があるという問題があります。私はこれが以下のコードで行うことができることを発見しました...
var Info = new DirectoryInfo(settingsdir);
var Security = Info.GetAccessControl(AccessControlSections.Access);
Security.AddAccessRule(
new FileSystemAccessRule(
"Authenticated Users", FileSystemRights.Modify,
InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit,
PropagationFlags.None,
AccessControlType.Allow));
私が見つけた問題は、「Authenticated Users」がWindows上のシステムアカウントであるということですが、Windowsの異なる言語バージョンでは、このアカウント名は翻訳されます。たとえば、ドイツでは、このアカウントは「AuthentifizierteBenutzer」と呼ばれます。このアカウントの固有名を知る方法はありますか(すべての言語を調べて正しいアカウント名を見つけることは明らかではありません)。