I have been building a new .NET solution with Castle performing my DI.
Its now at the stage where i would like to control the order in which my installers run. I have built individual classes which implement IWindsorInstaller to handle my core types — eg IRepository, IMapper and IService to name a few.
I see that its suggested i implement my own InstallerFactory (guessing i just override Select) in this class.
Then use this new factory in my call to:
FromAssembly.InDirectory(new AssemblyFilter("bin location"));
My question — when overriding the save method — what is the best way to force the order of my installers.
I know its already solved but I couldn’t find any example on how to actually implement the InstallerFactory so here’s a solution if anyone is googling for it.
How to use:
Just add the
InstallerPriorityattribute with a priority to your “install-order-sensitive” classes. Installers will be sorted by ascending. Installers without priority will default to 100.How to implement:
When starting application, global.asax etc: