title: When should my prism services be registered?
body: <p>I've been struggling with the ideal approach to this. Right now, I have my services created in Boostrapper right before I create my application shell, in the method:</p>
  
  <pre><code>protected override DependencyObject CreateShell() 
  </code></pre>
  
  <p>After my shell gets created, I then create all my view models, passing the services they need.</p>
  
  <p>So firstly, I want to know if that's a good practice. Also, I've tried to find examples of declaring services inside a .config file, but I really didn't see any. Is this not a good practice either?</p>
  
  <p>Example:</p>
  
  <pre><code>    protected override DependencyObject CreateShell()
      {
          appWnd = ServiceLocator.Current.GetInstance&lt;ApplicationWindow&gt;();
          Container.RegisterInstance&lt;ILicensing&gt;(new LicensingService());
          Container.RegisterInstance&lt;IAnotherService&gt;(new AnotherService());
  
          return appWnd;
      }
  </code></pre>