どとねとというかVistaの問題?

自作アプリで設定ファイルとかを実行ファイルと同じフォルダに置いてるわけですよ。
このフォルダを参照するために「Environment.CurrentDirectory」を使ってた訳ですわ。
普通に使ってた分にはもんだいなかったんだけどVistaシンボリックリンクを張ったフォルダからアプリを起動すると、正しくフォルダが見えないorz
ちなみに、元フォルダは「D:\Tool\hoge」でリンクは「C:\Users\me\Tool\hoge」てな感じで貼ってる。
で、実際に返ってくるフォルダは「C:\Windows\system32」。
これってどゆこと?w
リンク先を解決するためにsystem32のとこにあるなんかのEXE?を経由してる???
そんな訳でEnvironmentはつかえねぇ。
いちお正しくパスを取得できたのは↓の方法。

  • Application.ExecutablePath (実行ファイルまでのパス)
  • Application.StartupPath (実行ファイルのあるパス)
  • AppDomain.CurrentDomain.BaseDirectory (実行ファイルのあるパス)
  • Assembly.GetExecutingAssembly().Location (実行ファイルまでのパス)

ApplicationはWindows.Formsを使うんで、GUI以外ならAppDomain or Assemblyを使った方がいいかも。