How to make Windows Service start as "Automatic (Delayed Start)"

c#, wcf, windows-services

Solution

Now that .NET 4.0 is here:

serviceInstaller1.StartType = ServiceStartMode.Automatic;
serviceInstaller1.DelayedAutoStart = true;

Problem

Scenario: A WCF service running as a Windows Service. Account is "User". What is done: I have overridden the OnBeforeInstall in the projectinstaller to be able to set username and password from a config file. What I would be able to do: I'd like to be able to set the starttype as Automatic (Delayed Start) What I have tried: I put the following coderow in the overridden OnBeforeInstall `serviceInstaller1.StartType = ServiceStartMode.Automatic + 1;` Figured I would trick the ServiceStartMode enum into representing Automatic (Delayed Start), didn't work. Haven't tried anything more simply because I couldn't find anything to try. What I have found on the net: I found out that Automatic (Delayed Start) will be available in .NET 4, but that doesn't help me right now. MSDN I found out that DelayedAutoStart could be added to the service's configuration key, but this feels like a hack if I should do this from code. But maybe this is the only solution available for me at this point? - WS2008: Startup Processes and Delayed Automatic Start Any ideas? Robert Persson, Sweden

Original source