とにかく最初に起動する .NET アプリケーションは時間がかかわるわけ
時折話にあがるんですが、最初の1つって時間かかるんですよね。
JIT and Run / MSDN Magazine 2005 Mayより、Microsoft .NET Framework の CLI の実装では、稼動している CLR 1つにつき、グローバルなアプリケーションドメインが2個存在するようです。つまり、標準的なデフォルトアプリケーションドメインしか使用しない .NET アプリケーションであっても、CLR としては3つのアプリケーションドメインが稼動していることになります。
この、グローバルなアプリケーションドメインは、いくつの .NET アプリケーションが稼動しても2つの状態から変化せず、すべての .NET アプリケーションが終了しても残り続けるため、このグローバルなアプリケーションドメインが破棄されない限りはアプリケーション起動が高速化したように思えるようです。
物臭なもので
.NET Framework がインストールされるとき、Windows の RunService みたいなところに埋め込んでもいいようなもんですが。*1