We are dealing with slow start for WinForm applications (it is a large application and has many control assemblies). Control assemblies are DevComponents. Ngen was applied t
For a lightweight, reusable splash screen component written in C++ and using the native Windows APIs, see Stefan Olson's splash screen. It takes the approach Cody Gray alludes to of starting with a separate non-CLR process which then loads the main CLR app.
I had to implement the exact same thing at my last job and I can confirm the approach works well -- the time between the user clicking the program icon in the start menu and the splash screen appearing is just a few milliseconds and so feels 'instant'.