PDA

View Full Version : How Resolve Access denied For HrrpListener



RamezanBeik
دوشنبه 11 دی 1391, 15:43 عصر
با سلام و خسته نباشید
همونطور که از عنوان مشخص هستش مضوع گرفتن Exeption در هنگام ()Start کردن سرور هستش یکی از راه هاییی که بر طرف کردن این موضوع این هستش که برنامه را از Administrator یا برنامه را Run As Aministrator اجرا کنیم می خواستم ببینم بغیر از این راه ،راه حل دیگه ای هست که کاربر مجبور نیاشه برنامه را در حالت فوق اجرا کنه؟
البته در اینترنت هم جسنتجو کردم و در سایت MSDN مطالبی در مورد دستور netsh هم پیدا کردم اما چیز زیادی ازش سر درنیاوردم.
با تشکر

RamezanBeik
سه شنبه 12 دی 1391, 11:14 صبح
سلام بر شما من خودم جواب رو پیدا کردم اینجا برای شما قرار می دم امیدوارم که بدرد شما هم بخوره

public static class NetAclChecker()
{
public static void AddAddress(string address)
{
AddAddress(address, Environment.UserDomainName, Environment.UserName);
}
public static void AddAddress(string address, string domain, string user)
{
string args = string.Format(@"http add urlacl url={0} user={1}\{2}", address, domain, user);
ProcessStartInfo psi = new ProcessStartInfo("netsh", args);
psi.Verb = "runas";
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.UseShellExecute = true;
Process.Start(psi).WaitForExit();
}
}

فقط به خاطر داشته باشید که اگر نام کاریری شما دارای فاصله(مثلا My User Name ) هستش باید اون رو به فرم "My User Name" بهAddAddress ارسال شود.
موفق باشید.