با سلام
من نسخه جدید برنامه را در دیتا بیس برنامه ثبت میکنم. سپس برنامه با مقایسه تاریخ ورزن قبلی برنامه با ورژن جدید درخواست نصب برنامه جدید را از کاربر مینماید. کاربر هم با فشردن دکمه نصب کد پیوست اجرا شده و از برنامه خارج میشود. و دوباره ویرایش نصب شده جدید را اجرا مینماید. تا اینجا مشکلی نیست. ولی بعضا کاربران نسخه قدیم برنامه که حالا با کد زیر نامش به OLD.exe را اجرا مینمایند. تصمیم گرفتم به جای تغییر نام کلا فایل اجرایی را حذف و نسخه جدید را نصب نمایم. اما با توجه در حال اجرا بودن برنامه قادر به حذف نمیباشم. پیشنهاد شما برای این معضل چیست؟ متشکرم

Dir:=ExtractFilePath(Application.ExeName);
if FileExists(Dir+'.\old.exe') then DeleteFile(Dir+'.\old.exe') ;
MoveFile(PChar(Dir+'.\Refah.exe'), PChar(Dir+'.\old.exe'));
qryVerson.Open;
qryVersonNewVersion.SaveToFile(Dir+'.\Refah.exe');