I have updated the app.config file to include the useLegacyV2RuntimeActivationPolicy="true" attribute, and I can open and run it directly from VS2010 (after upgrade wizard),
and it seems to retain the attribute, and not cause trouble for 2.0.
If someone wants to produce a installer from a VS2010 build, beware that the build script uses a custom app.config file which will overwrite this one.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@575 59da171f-624f-0410-aa54-27559c288bec
Also fixed a bug where the suggested target path shown in the tree was not used, rather the previous \0 and \1 style was used.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@573 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
The logic was attempting to prevent a case where the backup was scheduled to run and "Run backup now" was checked.
In this special case, the "Run backup now" does nothing because the backup will run twice otherwise.
The logic was a bit flawed, so based on some various settings it would detect that it was scheduled to run,
while it was not.
Thanks to your fine description, I was able to reproduce easily and fix it.
With the regards to the other error message, I have reproduced it by doing the following without restarting:
1) create the backup
2) edit the backup
3) delete the backup
I will create a new issue for it, but the bug is deep in the database abstraction layer,
so it is pretty hard to debug.
Update issue #227
Status: Fixed
Now correctly removes the deleted task from the scheduler and updates the display.
I also managed to get a slight speedup on the display update.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@572 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
It turns out that the "autocheck" feature was also broken because of the sorting.
Now the sorting works for all columns, and the text and autocheck follows the item.
I also added a feature where boolean columns get the value "true" inserted if the checkbox is clicked.
The grid is now sorted by the option name.
I experimented a little with the sorting, and if the "Enabled" column is sorted, things tend to flip around
when checking/unchecking items, so I discarded that idea, and went with sorted by "Name" only.
If desired, the user can sort by clicking the "Enabled" column.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@566 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
I found out that Mono on windows does not support "mixed-mode" assemblies, which is what the System.Data.SQLite.dll's are:
http://www.mono-project.com/CPlusPlus
On my machine it gives a weird error with "CRT not initialized" if I run Duplicati under Mono.
I have changed the loader to check for Linux AND Mono.
I have also update the build script to include the version of the dll that you found,
it seems that Mono only runs with 32bit on windows, so the dll must also be 32 bit.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@562 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
There is now an error message and a helpful rollback message displayed if the database version does not fit.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@557 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
Removed error message when user cancels the file content listing.
Also fixed a similar error in other places where the operation can be canceled.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@546 59da171f-624f-0410-aa54-27559c288bec
Added name support in GUI and commandline version.
When restoring from commandline, subfolders will now be named like the source folders, if only one source folder is given.
When restoring from GUI, the names will be suggested like in the commandline.
It is no longer required that the unused folders exists when restoring a multi-source backup from the GUI.
Added size tooltips to the restore GUI window with the list of backup chains.
Now correctly deletes old signature cache files, even if they use the old names.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@542 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
Updated the GUI options to use the -- notation, but they are still backwards compatible.
Also added the --help, --pause and --resume options to the GUI.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@534 59da171f-624f-0410-aa54-27559c288bec
Update issue #185
Status: Fixed
The log message now correctly shows a message if the backup was aborted due
to a OS shutdown event (at least under windows). The error message
will show a friendly message rather than the .Net AbortException message.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@528 59da171f-624f-0410-aa54-27559c288bec
Since encryption (and compression) is detected after being encountered, the encryption module selection has been removed from the user interface when restoring.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@527 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
The tab order for the mentioned pages is now corrected, except for the generated filename page,
as that page was removed due to issue #210 and r523.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@526 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
A restore now defaults to background and some filenames are also shown while restoring.
The "direct restore" option cannot run in the background as it requires the schedule to be stored in the database.
This can be fixed after version 2.0
git-svn-id: https://duplicati.googlecode.com/svn/trunk@525 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
Now correctly upgrades and retains database encryption after a restore without requiring a program restart.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@524 59da171f-624f-0410-aa54-27559c288bec
Fixed a protential race condition with warning messages and file counts (cosmetic only) when using async transfers.
Spelling correction, Seperator -> Separator.
Changed so a restore operation can also supply advanced options.
Changed the format of timestamps in filenames to follow the Duplicity convention, which removes the need for --time-separator and --use-short-filenames.
Moved the URL utility into Core, to avoid compilation errors with Monodevelop.
Reorganized the runner to better support the LiveControls on all operations rather than only for backup/restore.
Update issue #210
Status: Fixed
I have now changed the time format to follow the Duplicity naming convention.
This means that all filenames are now generated with the time set as "yyyyMMddTHHmmssZ".
This format is more portable across all platforms, and easily sortable/readable.
The drawback is that the Z indicates UTC time, so if one looks at the filenames,
the times are not local. The motivation for this is to avoid trouble
with daylight savings time offsets.
There is full backwards compatibility as long as backups have not used more than
one character for --time-separator (only possible via commandline).
This new format means that the options --time-separator and --use-short-filenames
are now deprecated and removed from the user interface. It is possible to
access them from the advanced options page, along with the --use-old-filenames option.
If anyone needs these options for some reason, let me know, otherwise they will be removed
in a later version.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@523 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
Added the first generic module, a password request module.
The motivation for this is to allow the creation of custom passphrase modules.
A simple model would be to add a GUI input dialog.
A more sophisticated version may read a passphrase to an encrypted file which contains the real passphrase or similar.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@519 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
I have now implemented a password protection control.
You can now only view passwords when you enter them.
After this, you may reset the passwords, by entering a
new one, but you cannot read the existing passwords.
To protect against people reading the database,
which contains the passwords in clear text, the
database is now encrypted by using the standard
SQLite encryption method. This is different
than what I proposed, but is a much stronger
protection than merely scrambling the passwords,
and also protects all information (servername, etc).
It works by setting an environment variable
called DUPLICATI_DB_KEY. When no password
is set, Duplicati will use the key "Duplicati_Key_42",
ensuring that all databases are encrypted by default.
Using a pre-defined publicly known key is obviously
not a strong protection, but it protects from casual
users attempting to browse the database, and it also
protects from string scanners that scan a harddisk
for possible passwords.
On the first startup, Duplicati will encrypt the database,
using the mentioned key. You may want to delete any backup
databases that are placed in the same folder as the database.
Should you wish to decrypt the database, you can start
Duplicati.exe with the commandline option "--unencrypted-database".
This will use the current key to decrypt the database, and save it
without encryption.
Should you wish to change the database password, simply decrypt the
database, then change the password via the environment variable,
and start Duplicati.exe as normal.
The SQLite documentation for the feature is here:
http://www.hwaci.com/sw/sqlite/see.html
Unfortunately, it does not seem as if any
of the free SQLite tools supports this.
The SQLite library found on Ubuntu
does not support encryption, so I have disabled
this feature by default on Linux.
If a user has a special compiled version
of SQLite, they may use the environment
variables as mentioned above.
I will write this information into a wiki
page as soon asap.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@498 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
I have now added a 32bit version of gpg.exe and pscp.exe to the
package. On startup, the subfolder "win-tools" is appended to the
PATH environment variable, making them available from within Duplicati,
but preferring any system path items.
This only happens on windows.
I assume any decent Linux distro has scp, expect and gpg.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@491 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
The code to support this was already in place, but did
not work because Application.Exit() had been invoked,
making all messageboxes return Cancel without showing.
I also improved the logic a bit so a cancel does
not invoke the cleanup afterwards, making the exit
procedure faster.
I also added checks for the stop command to the
code that fetches the signature files, to make
the application respond faster to the stop command.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@490 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
I have now put in the textbox with a scrollbar instead,
so the long texts can be viewed too.
I also added the display of valid values for the options that report it.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@489 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
I could only reproduce if I kept the status window open,
and then deleted the backup. It now updates the log window
immediately after the delete, if the window is open.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@488 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
The signature files are now placed in "%DUPLICATI_HOME%/Signature Cache", which defaults to "appdata/duplicati/Signature Cache".
Update issue #128
Status: Fixed
Duplicati now uses an environment variable called %DUPLICATI_HOME% to determine where to place the data files.
As an alternative to setting the environment variable, Duplicati.exe can be invoked with the commandline option
--portable-mode, which will create a folder called "data" in the folder where Duplicati.exe is placed.
For maximum portability you can also set the temporary folder inside Duplicati's options to %DUPLICATI_HOME%\temp.
Update issue #70
This just got a whole lot easier after the introduction of the environment variable %DUPLICATI_HOME%.
The implementation can just invoke "Duplicati.exe --portable-mode" and everything should work.
The final package should have a customized default database with the temp folder set to %DUPLICATI_HOME%\temp.
The no auto-start setting can be applied by the "backup defaults.xml" file.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@487 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
I have fixed a number of UI issues when using async uploads.
For one, the pause/stop features now work.
If the progress is paused, a upload progressbar will be displayed,
so the progress does not appear to hang.
When the backup is complete, the remaining uploads
are now done as normal, resulting in a normal UI display with progress.
I have also reserved some space on the progress bar for cleanup,
and inserted a status message indicating that the cleanup is in progress.
The async now works so well, that I think it should be on by default.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@482 59da171f-624f-0410-aa54-27559c288bec
Added snapshot support using either VSS (win xp/vista/7) or LVM (linux).
Using the snapshot feature requires administrative/root privileges, and is toggled by the "snapshot-policy" option (by commandline or in advanced settings).
Also improved the validation of options to not show incorrect warnings.
This fixes issue #233.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@461 59da171f-624f-0410-aa54-27559c288bec
Also fixed a problem with detecting the right OS version,
this should only cause you trouble if you have files with the same name but different casing.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@453 59da171f-624f-0410-aa54-27559c288bec