System.ComponentModel.Win32Exception: Access is denied Error

103,495

Solution 1

Make sure your application pool identity account on your server has permissions to start that service. It works on your ASP.NET Development Server because it runs under your user account (admin) In a default IIS configuration, this account is Network service or ApplicationPoolIdentity (depending on IIS version) and usually cannot manage services.

So, change the pool account in IIS Manager (Application Pools/NameOfYourYourPool/Advanced Settings). You can use a built-in account or use one of your domain.

apppool

Solution 2

Run your VS in administrator mode and load your project.Open developer VS cmd in administrator mode.Give proper username with computer domain name like domainname\username.Hope it will work.

Share:
103,495
Mahesh
Author by

Mahesh

Updated on December 01, 2020

Comments

  • Mahesh
    Mahesh over 3 years

    I am using C# code to start and stop the window serves but I am getting this error.

    System.ComponentModel.Win32Exception: Access is denied
    

    My code:

     public void StartService(string serviceName, int timeoutMilliseconds)
        {
            ServiceController service = new ServiceController(serviceName);
            try
            {
                TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
    
                service.Start();
                service.WaitForStatus(ServiceControllerStatus.Running, timeout);
                lblMessage.Text = "Service Started.";
            }
            catch (Exception ex)
            {
                //lblMessage.Text = "Error in Service Starting.";
                lblMessage.Text = ex.ToString();
            }
        }