hoge.exe → 本体
hoge.dll → ライブラリ
hoge.mdb → 作業用データファイル(Access)
と同一ディレクトリに配置してある。
そして設定ファイルには <add name="data_file" value="hoge.mdb" /> という設定がある。
ログインや通常の処理は問題ないのだが、ある処理のときだけデータファイルが見つからないとういエラーが出る。
その処理はファイル保存処理で SaveFileDialog によって保存先を選ばせ、そこに保存するというよくある処理である。
要するに SaveFileDialog にて保存先を選んだら、作業ディレクトリが上書きされてしまうのを知らなかったわけです。
そのため、保存先ディレクトリに hoge.mdb がないぞーということになる。
その場では修正できないため、設定ファイルで絶対パスで指定してもらうことで切り抜けた。
アプリケーションが実行されたときに、絶対パスを作って保持しておくようにしとけばいいのかな。