Перед удалением сделайте резервную копию файла базы данных (обычно .sdf). После установки замените новый файл базы данных резервной копией.
// backup the CE database
string databasePath = ""; // location of your database
string backupPath = ""; // choose a backup path
try
{
File.Copy(databasePath, backupPath);
}
catch
{
Trace.TraceError("Error creating backup");
}
Process proc = Process.Start("wceload.exe", "\"" + Path.Combine(applicationPath, updateFileName) + "\"");
proc.WaitForExit();
Затем, после переустановки, удалите новую базу данных CE и восстановите резервную копию:
if (File.Exists(databasePath))
{
try
{
File.Delete(databasePath);
}
catch
{
Trace.TraceError("Error deleting new database");
}
}
string databasePath = ""; // location of your database
string backupPath = ""; // choose a backup path
try
{
File.Copy(backupPath , databasePath);
}
catch
{
Trace.TraceError("Error restoring backup");
}
Если вы не можете удалить новую базу данных, потому что она используется, вам нужно придумать механизм, чтобы обойти это (например, переименовать новую базу данных, затем скопировать резервную копию, а затем перезагрузить вашу приложение / устройство)