I'm trying to deploy a service that I wrote. Here's the InstallLog file:
Installing assembly 'c:\Users\brwatson\Development\Projects\TweetLinks\TweetLinkQueue\bin\Debug\TweetLinkQueue.exe'. Affected parameters are: logtoconsole = assemblypath = c:\Users\brwatson\Development\Projects\TweetLinks\TweetLinkQueue\bin\Debug\TweetLinkQueue.exe logfile = c:\Users\brwatson\Development\Projects\TweetLinks\TweetLinkQueue\bin\Debug\TweetLinkQueue.InstallLog Installing service TweetLinkService... Creating EventLog source TweetLinkService in log Application... Rolling back assembly 'c:\Users\brwatson\Development\Projects\TweetLinks\TweetLinkQueue\bin\Debug\TweetLinkQueue.exe'. Affected parameters are: logtoconsole = assemblypath = c:\Users\brwatson\Development\Projects\TweetLinks\TweetLinkQueue\bin\Debug\TweetLinkQueue.exe logfile = c:\Users\brwatson\Development\Projects\TweetLinks\TweetLinkQueue\bin\Debug\TweetLinkQueue.InstallLog Restoring event log to previous state for source TweetLinkService. An exception occurred during the Rollback phase of the System.Diagnostics.EventLogInstaller installer. System.Security.SecurityException: The source was not found, but some or all event logs could not be searched. Inaccessible logs: Security. 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.
As you can see, it's not working. I am not sure how to proceed, and have hit the wall with Bing and Google. I have set the Account to LocalSystem for the serviceProcessInstaller1. The code compiles fine, but now I would like to run the thing...any ideas? I am an administrator on my box, and I am running the command:
InstallUtil TweetLinkQueue.exe
from the VS2008 admin console.
UPDATED WITH /ShowCallStack option
Call Stack
An exception occurred during the Install phase. System.Security.SecurityException: The source was not found, but some or all eve nt logs could not be searched. Inaccessible logs: Security. at System.Diagnostics.EventLog.FindSourceRegistration(String source, String m achineName, Boolean readOnly) at System.Diagnostics.EventLog.SourceExists(String source, String machineName ) at System.Diagnostics.EventLogInstaller.Install(IDictionary stateSaver) at System.Configuration.Install.Installer.Install(IDictionary stateSaver) at System.ServiceProcess.ServiceInstaller.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 savedSt ate) at System.Configuration.Install.Installer.Install(IDictionary stateSaver) at System.Configuration.Install.TransactedInstaller.Install(IDictionary saved State)
and here is the constructor:
public TweetLinkService() { InitializeComponent(); if (!EventLog.SourceExists("TweetLinkQueue")) { EventLog.CreateEventSource("TweetLinkQueue", "Log"); TweetLinksLog.Source = "TweetLinkQueue"; TweetLinksLog.Log = "Log"; TweetLinksLog.WriteEntry("Log Created!"); } }
UPDATED with ENtry Point:
namespace TweetLinkQueue { static class Program { /// <summary> /// The main entry point for the application. /// </summary> static void Main() { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new TweetLinkService() }; ServiceBase.Run(ServicesToRun); } } }
I was just having this issue and it was because I wasn't running my visual studio command prompt as an administrator.
I'm not sure what your specific problem is. It looks to me like the problem occurs while creating the EventLog source. Double-check that you've done that part correctly. You can reference the step-by-step here. EDIT: SPECIFICALLY LOOK AT STEP 9. The problem may be occuring because you're messing with the Application log instead of one specific to your application.
There's nothing wrong with using InstallUtil, but if you need to install your service on a foreign machine, InstallUtil is not guaranteed to be there. You can follow this step-by-step to make your Windows service executable install/uninstall itself without the need of InstallUtil. See here for those instructions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With