title: Quartz.Net scheduler service does not start automatically on startup
body: <p>I have developed a <em>Quartz.Net</em> windows service to run scheduled jobs and I have set up an <em>SQLite</em> jobstore for it to work. Here are the settings of my <code>AdoJobStore</code>:</p>
  
  <pre><code># SQLite settings
  quartz.jobStore.type = Quartz.Impl.AdoJobStore.JobStoreTX, Quartz
  quartz.jobStore.misfireThreshold = 60000
  quartz.jobStore.lockHandler.type = Quartz.Impl.AdoJobStore.UpdateLockRowSemaphore, Quartz
  quartz.jobStore.useProperties = true
  quartz.jobStore.dataSource = default
  quartz.jobStore.tablePrefix = qrtz_
  quartz.jobStore.driverDelegateType = Quartz.Impl.AdoJobStore.SQLiteDelegate, Quartz
  quartz.dataSource.default.provider = SQLite-10
  quartz.dataSource.default.connectionString = Data Source=.\jobs.db;Version=3
  </code></pre>
  
  <p>Before giving you a headache, I should say that this is a working solution! That means the job store works just fine! Each job consists of running an <code>.exe</code> file that will get its parameters from an <code>SQL Server</code> database using a connection string that is stored in a text file.</p>
  
  <p>So if the service is started automatically, everything works fine.</p>
  
  <p>After installing the Windows service, we give it a username that has access to the destination database in service's <em>Log On</em> tab. We set the service to start automatically (and have tried the <em>Automatic Delayed</em> mode as well). In the <em>Recovery</em> tab of the service we also command it to <em>Restart</em> in case it crashes. </p>
  
  <p>However, the service does not seems to be starting by itself on some machines and that has kept me wondering for quite a while now. On machines with failure, this is what my service logs when it fails to start:</p>
  
  <pre><code>2015-02-13 15:09:15,674 [1] ERROR Quartz.Server.QuartzServer [(null)] - Server initialization failed:Unable to bind scheduler to remoting.
  Quartz.SchedulerException: Unable to bind scheduler to remoting. ---&gt; System.Net.Sockets.SocketException: No such host is known
     at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
     at System.Net.Dns.GetHostEntry(String hostNameOrAddress)
     at System.Runtime.Remoting.Channels.CoreChannel.GetMachineIp()
     at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.SetupMachineName()
     at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel..ctor(IDictionary properties, IServerChannelSinkProvider sinkProvider, IAuthorizeRemotingConnection authorizeCallback)
     at System.Runtime.Remoting.Channels.Tcp.TcpChannel..ctor(IDictionary properties, IClientChannelSinkProvider clientSinkProvider, IServerChannelSinkProvider serverSinkProvider)
     at Quartz.Simpl.RemotingSchedulerExporter.RegisterRemotingChannelIfNeeded()
     at Quartz.Simpl.RemotingSchedulerExporter.Bind(IRemotableQuartzScheduler scheduler)
     at Quartz.Core.QuartzScheduler.Bind()
     at Quartz.Core.QuartzScheduler.Initialize()
     --- End of inner exception stack trace ---
     at Quartz.Core.QuartzScheduler.Initialize()
     at Quartz.Impl.StdSchedulerFactory.Instantiate()
     at Quartz.Impl.StdSchedulerFactory.GetScheduler()
     at Quartz.Server.QuartzServer.Initialize() [See nested exception: System.Net.Sockets.SocketException (0x80004005): No such host is known
     at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
     at System.Net.Dns.GetHostEntry(String hostNameOrAddress)
     at System.Runtime.Remoting.Channels.CoreChannel.GetMachineIp()
     at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.SetupMachineName()
     at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel..ctor(IDictionary properties, IServerChannelSinkProvider sinkProvider, IAuthorizeRemotingConnection authorizeCallback)
     at System.Runtime.Remoting.Channels.Tcp.TcpChannel..ctor(IDictionary properties, IClientChannelSinkProvider clientSinkProvider, IServerChannelSinkProvider serverSinkProvider)
     at Quartz.Simpl.RemotingSchedulerExporter.RegisterRemotingChannelIfNeeded()
     at Quartz.Simpl.RemotingSchedulerExporter.Bind(IRemotableQuartzScheduler scheduler)
     at Quartz.Core.QuartzScheduler.Bind()
     at Quartz.Core.QuartzScheduler.Initialize()]
  </code></pre>
  
  <p>The service is installed on host <code>127.0.0.1</code> port <code>555</code> and does not seem to need a dependency because it works under some other machines.</p>
  
  <p>I have a feeling that the service is trying to start itself before there is an access to the database or before the <code>TCP</code> host is established. But if that's the case, why does it work on other devices?</p>
  
  <p>I have asked the same question before but have failed to find a working answer. Any help from <code>Quartz.Net</code> dev team or <em>Windows Services</em> experts is greatly appreciated.</p>