2007/03/05(Mon) 19:37:25 編集(投稿者)
> すいません 参考までに2005で設定する方法教えていただけるとうれしいです。
> お願いします。
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Security.AccessControl;
using System.Windows.Forms;
namespace ACLTest
{
class Program
{
static void Main(string[] args)
{
string logDirPath = Path.Combine(Application.StartupPath, "LOG");
DirectoryInfo logDirInfo = new DirectoryInfo(logDirPath);
if (!logDirInfo.Exists)
{
try
{
logDirInfo.Create();
}
catch (Exception e)
{
Console.WriteLine("ログディレクトリが作成できません。\n" + e.ToString());
goto END;
}
}
try
{
DirectorySecurity logDirSec = logDirInfo.GetAccessControl();
//このへんは必要に応じて変更してください。
logDirSec.AddAccessRule(new FileSystemAccessRule("Users", FileSystemRights.CreateFiles, AccessControlType.Allow));
logDirSec.AddAccessRule(new FileSystemAccessRule("Users", FileSystemRights.Write, AccessControlType.Allow));
logDirInfo.SetAccessControl(logDirSec);
}
catch (Exception e)
{
Console.WriteLine("ログディレクトリのAClを変更できません。\n" + e.ToString());
goto END;
}
Console.WriteLine("処理完了");
END:
Console.ReadLine();
}
}
}
みたいな感じです。
実行環境で.NET2.0が使えるのであれば、VS2005での開発をおすすめします。