のような Windows システム プログラムで動作する必要があるプログラムを作成していますC:\windows\System32\bcdedit.exe
。たとえば、到達しようとするとmspaint
うまくいきます。
IO.File.Exists(@"C:\windows\System32\mspaint.exe") // return true
しかし
IO.File.Exists(@"C:\windows\System32\bcdedit.exe") // return false
これは false を返しますが、ファイルは実際に存在します。Windowsエクスプローラーで見ることができ、コマンドラインから起動できます。このファイルにアクセスできないのは、私の C# アプリケーションのみです。起動しようとすると、エラー Win32Exception と次のメッセージが表示されます。
システムは、指定されたファイルを見つけることができません
そして、(上記のコードで) ファイルが存在するかどうかを「尋ねる」と、false が返されます。
なんで?