小さな c# winforms アプリケーションを作成しています。sqlite データベースを使用してデータを保存します。このアプリに更新機能を追加して、ユーザーがアプリを再インストールすることなく sqlite ファイルやその他のファイルを更新できるようにするよう依頼されました。
問題は、更新を行うと、すべてが機能しているように見え、エラーなどがないように見えますが、アプリケーションのインストールディレクトリを見ると、ダウンロードされたファイルの一部 (通常は pdf ファイル) が見つからないことです。 Updates.txt ファイルを作成して、実行した更新を追跡します。その後、アプリをアンインストールして再インストールすると、Updates.txt ファイルが見つからなくても、既に更新が行われたかのように動作します。
奇妙なことに、Visual Studio で実行して更新を実行すると、100% の確率で問題なく動作します。セットアップ プロジェクトをビルドしてインストールすると、問題が発生します。ファイルが別の場所にコピーされる設定がセットアップ プロジェクトにあるのではないでしょうか? まったくわかりません。
助けてください。ありがとう。
編集:これは私がファイルをダウンロードしている方法です
String filename = "//test.pdf";
WebClient client = new WebClient();
client.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
client.DownloadFileAsync(new Uri(dlFile), System.IO.Directory.GetCurrentDirectory() + filename);
更新: これはアクセス許可の問題でした。修正するために、アプリを管理者として強制的に実行しました。