死んでました。やっと復活。
なんでデバッグする必要が
これは、Configurationのシリアライズが、想像通りにいかなかったから。はじめは素直に Properties.Settings.Default.Save() で期待通りの動作をせず、ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal) でも予想外の動作、何でだろうってことで。
デバッガを起動させる
インストーラクラスってデバッグできへんの?みたいなFAQがMSのサイトにあったので、内容を見てみると
まあ、MessageBoxデバッグは、printfデバッグと一緒でまあ、そうとして、デバッガを起動して、プロセスにアタッチっていう方法があったのね。
オーバーライドしたInstallメソッドの先頭で
System.Diagnostics.Debugger.Launch();
してやると無事にデバッガ起動*1。
で、実際デバッグしてわかったことは、msiexec.exe からアセンブリが起動されているから、設定ファイルのパスは
アプリケーションデータ\Microsoft_Corporation\DefaultDomain_Path_hogehoge\version\user.config
ってなるってこと。あー。と
実際場所を見てみると、ばっちりSetupプロジェクトのユーザーインターフェイスから入力したデータが、無事にシリアライズされていましたとさ。
かなり以前に作成したセットアップは、実行されているアセンブリのパスに、XMLとしてパースし、App.configを書き換えていたので*2、今回はお作法通りConfigurationでと思ったのが運のつきで、結局 Google 先生に再度お伺いを立てることに。
結局問題は未解決となりました。