Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Install C# Service on Windows Server (Access Denied)

Tags:

c#

service

I created a C# service. Now I want to install that service on Windows Server 2008 R2. I am using the InstallUtil command to install the service. I opened the command prompt as an admin.

The service should run as a certain user, therefore I set the account to user on the Service Installer.

When I run the command I get an error:

An exception occured during the Install phase: System.ComponentModel.Win32Exception: Access Denied.

Here is the log file:

Installing assembly 'C:\Service\MyService.exe'.
Affected parameters are:
   logtoconsole = 
   logfile = C:\Service\MyService.InstallLog
   assemblypath = C:\Service\MyService.exe
Rolling back assembly 'C:\Service\MyService.exe'.
Affected parameters are:
   logtoconsole = 
   logfile = C:\Service\MyService.InstallLog
   assemblypath = C:\Service\MyService.exe
An exception occurred during the Rollback phase of the System.ServiceProcess.ServiceProcessInstaller installer.
System.NullReferenceException: Object reference not set to an instance of an object.
An exception occurred during the Rollback phase of the installation. This exception will be     ignored and the rollback will continue. However, the machine might not fully revert to its initial state after the rollback is complete.

Here is what is displayed on the command prompt:

Beginning the Install phase of the installation.
See the contents of the log file for the C:\Service\MyService.exe assembly's progress.
The file is located at C:\Service\MyService.InstallLog.
Installing assembly 'C:\Service\MyService.exe'.
Affected parameters are:
   logtoconsole =
   logfile = C:\Service\MyService.InstallLog
   assemblypath = C:\Service\MyService.exe

An exception occurred during the Install phase.
System.ComponentModel.Win32Exception: Access Denied
   at System.ServiceProcess.ServiceProcessInstaller.OpenSecurityPolicy()
   at System.ServiceProcess.ServiceProcessInstaller.Install(IDictionary stateSaver)
   at System.Configuration.Install.Installer.Install(IDictionary stateSaver)
   at System.Configuration.Install.Installer.Install(IDictionary stateSaver)
   at System.Configuration.Install.AssemblyInstaller.Install(IDictionary savedState)
   at System.Configuration.Install.Installer.Install(IDictionary stateSaver)
   at System.Configuration.Install.TransactedInstaller.Install(IDictionary savedState)

The Rollback phase of the installation is beginning.
See the contents of the log file for the C:\Service\MyService.exe assembly's progress.
The file is located at C:\Service\MyService.InstallLog.
Rolling back assembly 'C:\Service\MyService.exe'.
Affected parameters are:
   logtoconsole =
   logfile = C:\Service\MyService.InstallLog
   assemblypath = C:\Service\MyService.exe
An exception occurred during the Rollback phase of the System.ServiceProcess.Ser
viceProcessInstaller installer.
System.NullReferenceException: Object reference not set to an instance of an obj
ect.
An exception occurred during the Rollback phase of the installation. This exception will be ignored and the rollback will continue. However, the machine might not fully revert to its initial state after the rollback is complete.

The Rollback phase completed successfully.

The transacted install has completed.
The installation failed, and the rollback has been performed.

Does somebody know what I need to do to install the service?

like image 865
Alexander Avatar asked Mar 11 '13 09:03

Alexander


People also ask

Do I need to install C language?

To start learning C programming, you only have to install the C compiler in your system. Nowadays, C and C++ both compilers come as a single integrated package, which serves the purpose of both C and C++ program development.

Is C pre installed in Windows?

Unfortunately, there is no in-built compiler. You need to install one.

Is C already installed in Ubuntu?

It is a very important command that comes pre-installed on your latest Ubuntu version.

What should I install to run C program?

To create and execute C programs in the Windows Operating System, we need to install Turbo C software.


3 Answers

I finally could install the service. I was logged into the server in a role called server admin. My Administrator added my account to the local administrators group of the server. After this I could install the service. It seams like the server Admin account, that I used to log into the system did not have full admin priviledges.

Thanks for your help.

like image 185
Alexander Avatar answered Oct 05 '22 02:10

Alexander


You really didn't give any details as to what your service does and I am unable to comment direct on your post yet but you might try this link

The summary of this is to check and make sure you are running the proper 32/64 bit installutil.exe and to verify your merge module are not causing the issue.

Perhaps a better description of your service would help? Does the service install fine on your local machine as opposed to the server?

like image 39
David Avatar answered Oct 05 '22 02:10

David


This Problem is due to Security, Better open Command prompt in RUN AS ADMINISTRATOR and install your Service, it fix your problem surely

like image 31
ranojan Avatar answered Oct 05 '22 01:10

ranojan