DirectoryNotFoundException
ときどき、ソフトウェアの一部のユーザーから、有線例外が原因であると報告されることがあります。これは、Vista を実行している一部のユーザーにのみ発生します。Vista を実行しているすべてのユーザーがこの問題を抱えているわけではありません。Win7 または XP を実行しているユーザーから、この問題の報告はありません (ただし、これらのシステムでこの問題が発生しないことを証明するものではありません。そのような報告はありません)。
当社のソフトウェアは、ProgramData フォルダー内にいくつかのグラフィック データを保存します。プログラムがこれらのファイルを読み取ろうとすると、次の例外がスローされます。
Message: Could not find a part of the path 'C:\ProgramData\My App Name\Subfolder\Subfolder'.
mscorlib
in System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
in System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
in System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption)
in System.IO.Directory.GetFiles(String path)
パスはC:\ProgramData\My App Name\Subfolder\Subfolderです。フォルダが存在します - 100% 確信しています。これは、NSIS インストーラーによって作成されました。これは、すべてのユーザーが書き込み可能です (または、少なくとも、NSIS スクリプトで設定した方法である必要があります)。ユーザーは、フォルダーが存在することを確認します。ユーザーは、Windows エクスプローラーを使用してその場所に移動できます。
最初は UAC の問題だと思っていましたが、例外としてCould not find a part of path と表示されます。テストシステムで問題を再現できないため、これは私を夢中にさせます. 構成は問いません。XP、Vista、Win7 - 当社のマシンでは問題なく動作します。