diff --git a/Duplicati/GUI/Datamodel/Datamodel.csproj b/Duplicati/GUI/Datamodel/Datamodel.csproj
index 03000d2c9..ef3656f1d 100644
--- a/Duplicati/GUI/Datamodel/Datamodel.csproj
+++ b/Duplicati/GUI/Datamodel/Datamodel.csproj
@@ -1 +1,119 @@
-Local8.0.507272.0{B60D0993-B0C5-457A-90D9-DB6EEB33CE47}DebugAnyCPUDatamodelLightDatamodel.snkJScriptGridIE50falseLibraryDuplicati.DatamodelOnBuildSuccesstruebin\Debug\false285212672falseDEBUG;TRACEtrue4096falsefalsefalsefalsefalse4fullpromptbin\Release\false285212672falseTRACEfalse4096falsetruefalsefalsefalse4nonepromptSystemSystem.DataSystem.XML{CAE8433B-F013-474E-B7FC-4DE0D5933AD1}LightDatamodel{DE3E5D4C-51AB-4E5E-BEE8-E636CEBFBA65}Duplicati.Library.Core
\ No newline at end of file
+
+
+
+ Local
+ 8.0.50727
+ 2.0
+ {B60D0993-B0C5-457A-90D9-DB6EEB33CE47}
+ Debug
+ AnyCPU
+
+
+ Datamodel
+ LightDatamodel.snk
+ JScript
+ Grid
+ IE50
+ false
+ Library
+ Duplicati.Datamodel
+ OnBuildSuccess
+
+
+
+ true
+
+
+ bin\Debug\
+ false
+ 285212672
+ false
+
+
+ DEBUG;TRACE
+
+
+ true
+ 4096
+ false
+
+
+ false
+ false
+ false
+ false
+ 4
+ full
+ prompt
+
+
+ bin\Release\
+ false
+ 285212672
+ false
+
+
+ TRACE
+
+
+ false
+ 4096
+ false
+
+
+ true
+ false
+ false
+ false
+ 4
+ none
+ prompt
+
+
+
+ System
+
+
+ System.Data
+
+
+ System.XML
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {CAE8433B-F013-474E-B7FC-4DE0D5933AD1}
+ LightDatamodel
+
+
+ {DE3E5D4C-51AB-4E5E-BEE8-E636CEBFBA65}
+ Duplicati.Library.Core
+
+
+
+
\ No newline at end of file
diff --git a/Duplicati/GUI/Duplicati.csproj b/Duplicati/GUI/Duplicati.csproj
index b9122c406..ac118394e 100644
--- a/Duplicati/GUI/Duplicati.csproj
+++ b/Duplicati/GUI/Duplicati.csproj
@@ -35,7 +35,7 @@
False
- Datamodel\System.Data.SQLite.DLL
+ ..\..\thirdparty\SQLite\Dll for .Net\System.Data.SQLite.DLL
diff --git a/Duplicati/GUI/DuplicatiRunner.cs b/Duplicati/GUI/DuplicatiRunner.cs
index 1e2917644..c47d0c075 100644
--- a/Duplicati/GUI/DuplicatiRunner.cs
+++ b/Duplicati/GUI/DuplicatiRunner.cs
@@ -131,7 +131,7 @@ namespace Duplicati.GUI
task.RaiseTaskCompleted(results);
if (task.Schedule != null)
- ((System.Data.LightDatamodel.IDataFetcherCached)task.Schedule.DataParent).CommitRecursive();
+ ((System.Data.LightDatamodel.IDataFetcherCached)task.Schedule.DataParent).CommitRecursiveWithRelations();
if (task.TaskType == DuplicityTaskType.FullBackup || task.TaskType == DuplicityTaskType.IncrementalBackup)
{
diff --git a/Duplicati/GUI/Program.cs b/Duplicati/GUI/Program.cs
index 311b364b6..232beddb1 100644
--- a/Duplicati/GUI/Program.cs
+++ b/Duplicati/GUI/Program.cs
@@ -171,7 +171,8 @@ namespace Duplicati.GUI
static void DataConnection_AfterDataConnection(object sender, DataActions action)
{
- Scheduler.Reschedule();
+ if (action == DataActions.Insert || action == DataActions.Update)
+ Scheduler.Reschedule();
}
static void WorkThread_StartingWork(object sender, EventArgs e)
diff --git a/Duplicati/GUI/Scheduler.cs b/Duplicati/GUI/Scheduler.cs
index 08f4ffed2..d10a3ab13 100644
--- a/Duplicati/GUI/Scheduler.cs
+++ b/Duplicati/GUI/Scheduler.cs
@@ -120,7 +120,7 @@ namespace Duplicati.GUI
}
}
- System.Data.LightDatamodel.QueryModel.Operation op = System.Data.LightDatamodel.QueryModel.Parser.ParseQuery("ORDER BY When ASC");
+ System.Data.LightDatamodel.QueryModel.OperationOrParameter op = System.Data.LightDatamodel.QueryModel.Parser.ParseQuery("ORDER BY When ASC");
lock(m_lock)
m_schedule = op.EvaluateList(reps).ToArray();
diff --git a/Duplicati/GUI/WizardHandler.cs b/Duplicati/GUI/WizardHandler.cs
index 8fb15f271..a623e5f4c 100644
--- a/Duplicati/GUI/WizardHandler.cs
+++ b/Duplicati/GUI/WizardHandler.cs
@@ -74,7 +74,11 @@ namespace Duplicati.GUI
wrapper.UpdateSchedule(schedule);
- con.CommitRecursiveWithRelations(schedule);
+ bool scheduleRun = wrapper.RunImmediately && wrapper.BackupTimeOffset > DateTime.Now;
+
+ lock(Program.MainLock)
+ con.CommitRecursiveWithRelations(schedule);
+ schedule = Program.DataConnection.GetObjectById(schedule.ID);
if (wrapper.UseEncryptionAsDefault)
{
@@ -85,7 +89,7 @@ namespace Duplicati.GUI
Program.DataConnection.Commit(Program.DataConnection.GetObjects());
}
- if (wrapper.RunImmediately)
+ if (scheduleRun)
Program.WorkThread.AddTask(new IncrementalBackupTask(schedule));
}
else if (m_form.CurrentPage is Wizard_pages.Restore.FinishedRestore)
diff --git a/Installer/Duplicati.wxs b/Installer/Duplicati.wxs
index 6761445a1..c91b29829 100644
--- a/Installer/Duplicati.wxs
+++ b/Installer/Duplicati.wxs
@@ -62,7 +62,7 @@
-
+
diff --git a/Installer/incBinFiles.wxs b/Installer/incBinFiles.wxs
index c47e1868b..da4b3acf3 100644
--- a/Installer/incBinFiles.wxs
+++ b/Installer/incBinFiles.wxs
@@ -47,7 +47,6 @@
-
@@ -120,7 +119,6 @@
-
\ No newline at end of file
diff --git a/thirdparty/LightDataModel/LightDatamodel.dll b/thirdparty/LightDataModel/LightDatamodel.dll
index 41807e2e5..5e4aecafd 100644
Binary files a/thirdparty/LightDataModel/LightDatamodel.dll and b/thirdparty/LightDataModel/LightDatamodel.dll differ