وقتی هنگام Debug برنامه از دیتابیس backup و Restore میگیرم هیچ مشکلی ندارم و تمام
کار با موفقیت انجام میشه.
اما وقتی برای برنامه setup درست میکنم یا به عبارتی publish میکنم، بعد از نصب برنامه نه Backup میگیره و نه
Restore میکنه.
کدهایی که استفاده کردم را در زیر میذارم
راستی من دیتابیسم را به برنامه اتچ(Attach) کردم
این هم کانکشن استرینگ:
Mycn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DataBase.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;");
این هم کدبکاپ:
cmd.CommandText = @"backup database [" + Application.StartupPath + "\\DataBase.mdf] to disk =N'"
+ PATH + "' with init, NAME = N'accounting-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
و این هم کد ریستور:
cmd.CommandText = "ALTER DATABASE [" + Application.StartupPath + "\\DataBase.mdf] SET OFFLINE WITH ROLLBACK IMMEDIATE"
+ " ALTER DATABASE [" + Application.StartupPath + "\\DataBase.mdf] SET MULTI_USER"
+ " RESTORE DATABASE [" + Application.StartupPath + "\\DataBase.mdf] FROM DISK =N'" + mypath + "' WITH RECOVERY,REPLACE";
یه بار دیگه یادآوری کنم که کدها موقع Debug مشکلی ندارن و وقتی برنامه را برای مشتری نصب میکنیم اجرا نمیشن