サービスとApp.configの関係

色々と調べたけど、いまいち理解できていない関係について(これが仕様なのかな?)。
C#Windowsのサービスプログラムを作っているのですが、App.configが読み込めませんでした。そういう仕様なのかと思い、DLLでライブラリを作成してそちらに〜.dll.configを付けてみたところ、DLL単体では当然設定が読み込めるのですがサービスプログラムからライブラリを経由すると読み込めませんでした。ダメなのかな?と思いつつ、サービスプログラムにもう一度App.configを追加すると何故か設定が読めました。え???
まとめると

サービス+App.config
読めない
サービス+DLL+〜.dll.config
読めない
サービス+App.config+DLL
読めた

えーっと、これはどんな仕様なんでしょう?それとも、何か勘違いしてるのかな?何なんだろう?

追記

すごい勘違いをしていました。上記の仕様は、InstallUtil.exeのせいでした。
整理しますと、まずC#でサービスプログラムを作成した場合には %SYSTEMROOT%\Microsoft.NET\Framework\v1.1.4322\InstallUtil.exe を使って生成したexeをサービスに登録する必要があります。その後、サービスの管理画面から登録したサービスを起動する流れです。
今回、問題になったのは前者の InstallUtil.exeを使ってサービスを登録する際に App.configの情報が参照できずに登録に失敗していました。つまり、サービスの登録時にサービス名を App.configから取得しようとしているのですが、該当するファイルが InstallUtil.exe.configになってしまうため設定情報が存在しないエラーが発生していました。とりあえず、InstallUtil.exe.configを用意することで回避できますが、これってどうするのが良いのでしょうか?サービス名が埋め込みしか受け付けないって仕様は微妙な気もしますが、、、。
サービスとして登録できてしまえば、後は通常のアプリケーションと同じようにconfigファイルが読めてました。ふむふむ、勉強になったけど、結局サービスの登録時にどうしようか?って問題が残ってしまいましたね・・・。