As most of you probably know, a cold start of a .NET program takes a little bit to load. After that the warm starts come right up because all the .NET business is cached. My question is, is there anyway to have a splash screen come up as the .NET resources load so the user doesn't think the programs unresponsive and tries to keep opening it? I tried a normal splash that does all the loading before the main form comes up, but that only comes up after the fact, so its of little help. I looked into maybe using WPF but I couldn't find any solid info on how to implement this.
Any help would be great, thanks guys!

(Using VS 2008 and .NET 4.0 but upgrading to 4.5, so answer referring to either works)