---
title: Initialization system
slug: commerce-connect-15/docs/initialization-system
docTags: 
createdAt: 2026-07-30T20:34:44.000Z
---

To develop your initialization module, see [Initialize CMS 13](docId:_vdE301PuORphVgmOAzgy).

The initialization system consists of the following:

- A discovery mechanism to determine which modules should be part of the initialization process.
- A dependency sorting algorithm that decides the order of execution.
- An execution engine that executes the modules.
- Handling of re-execution of initialization modules (by hooking into ASP.NET) in the occurrence of exceptions during startup.
- The `EPiServer.Framework.Initialization` namespace, which resides in the assembly `EPiServer.Framework`.

## Sample initialization module

The following sample initialization module takes a dependency on the `EPiServer.Commerce.Initialization.InitializationModule` and registers catalog content routes:

```csharp
using System.Web.Routing;
using EPiServer.Framework;
using EPiServer.Commerce.Routing;
using EPiServer.Framework.Initialization;

namespace CodeSamples.EPiServer.Commerce.Catalog
  {
    [ModuleDependency(typeof(global::EPiServer.Commerce.Initialization.InitializationModule))]
    public class RegisterRoutingModuleSample : IInitializableModule
      {
        public void Initialize(InitializationEngine context)
          {
            MapRoutes(RouteTable.Routes);
          }
        private static void MapRoutes(RouteCollection routes)
          {
            CatalogRouteHelper.MapDefaultHierarchialRouter(routes, true);
          }
        public void Uninitialize(InitializationEngine context) { /*uninitialize*/}
        public void Preload(string[] parameters) { }
      }
  }
```
