過去 2 時間、これについてグーグルで検索しましたが、結果が得られなかったので…</p>
XML ファイルを使用してデータを保存するアプリケーションを開発しています。これらのファイルは、プログラムの実行可能ファイルと同じディレクトリに存在するはずです。私が使う:
string filePath = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + "\\xml\\filename.xml";
できます。
Inno Setup でインストール ファイルを作成しました。これも同様に機能し、XML ファイルを目的の場所に正確にコピーします。
インストール フォルダ、[スタート] メニュー アイコン、デスクトップ ショートカットからアプリケーションを直接開いたところ、問題なく動作しました。
プログラムにいくつかの変更を加えてから、プログラムを閉じて再度開始します。すべて問題ありません。保存された変更はすべて XML から読み戻されます。
しかし、その後、指定された XML ファイルを開きましたが、変更はありません!
少なくとも機能しているので気にしませんが、
- アプリケーションをアンインストールしてから同じディレクトリに再度インストールすると、以前にインストールしたファイルに加えた変更が残っています!
- 何が起こっているのか非常に興味があります。
これは、プログラムがProgram Filesにインストールされている場合にのみ発生します。My Documentsにインストールすると、変更が XML ファイルに表示され、再インストール後にデフォルト設定が期待どおりに復元されます。
私の質問は次のとおりです。
- これらの XML ファイルはどこに保存されていますか? 指定されたパスがProgram Filesを指しているのにそこにない場合、どうすればロードできますか?
- 明らかに、どうすれば修正できますか?
編集 最終的にこれらのファイルが C:\Users[USERNAME]\AppData\Local\VirtualStore\Program Files[APPNAME] で見つかりました