Commit Graph
36 Commits
Author SHA1 Message Date
Carl Johnsen 6d2e83698d Added docstrings 2026-01-08 15:46:41 +01:00
Carl Johnsen 6c00cda7f2 Removed whitespace 2026-01-08 15:45:05 +01:00
Svend Roperos c1e22faa03 fix: make string.Split calls explicit to resolve ambiguous overloads 2025-09-04 20:14:52 +02:00
Kenneth SkovhedeandSvend Roperos 0d57f2ceea Rewrote HyperV and MSSQL parser to support paths under each instance.
This also cleans up the filters slightly, so the logic for "first match" still holds.

If an item is excluded, and subfolders are also automatically excluded.
2025-09-04 20:14:52 +02:00
Kenneth Skovhede 98deb8c576 Update support for VSS
This updates VSS to default use Vanara in favor of AlphaVSS which is no longer maintained.

The build for Vanara requires targeting `net8.0-windows7.0`, which will cause significant build overhead and complexity for cross platform builds.
To counter this, the setup is to have a single project, `Duplicati.Library.WindowsModules`, that is targeting `net8.0-windows7.0`.
The output from this project is then hoisted into the TrayIcon project for Windows builds so the files are available when debugging on Windows.
A top-level dummy executable project is added to ensure the project always builds.
The built modules are then loaded with reflection when requested.

With the use of Vanara there is now also support for using BackupRead to read files without making a VSS snapshot.
With BackupRead, it is possible to read locked files, but it still requires the SeBackupPrivilege as VSS does as well.

Unfortunately, the `vssapi.dll` file is not shipped for Arm64 on Windows, so even with Vanara this will not work, and only WMIC is supported on Arm64.
A workaround is to run Duplicati with x64 emulation if more advanced VSS features are needed (HyperV and MSSQL support).

This PR also updates options and filters out unsupported options for each operating system, so options that are not supported by the current OS are not reported and will give warnings if they are used, as opposed to just being ignored.

The release builder project has been updated to exclude the unused project, and purge unwanted outputs.
2025-07-01 16:32:19 +02:00
Kenneth Skovhede cf5b4bb24d Added support for Wmic based Windows VSS snapshots.
Refactored code a bit to be easier to understand.
2025-02-19 14:00:14 +01:00
Kenneth SkovhedeandGitHub 9464caf622 Feature/update license 2025 (#5851)
* Fixed some minor whitespace issues

* Updated all copyright to 2025
2025-01-07 09:40:39 +01:00
Kenneth Skovhede ea2ba06ff6 Suppress HyperV warning option
This adds a new option to suppress the normal warning that is issues on client-version of Windows.

This fixes #5692
2024-11-25 21:25:02 +01:00
Suguru Hirahara ae57dee0f0 Remove redundant space characters from *.cs and *.html 2024-07-26 00:10:31 -04:00
Jojo-1000 917e2cd0c4 Remove obsolete custom platform detection. 2024-05-30 02:14:05 +02:00
Jojo-1000 930f1c8bd3 Fix most unsupported platform warnings. 2024-05-30 01:50:02 +02:00
Jojo-1000 1dc1fd83af Add SupportedOSPlatform attribute and target windows where appropriate. 2024-05-30 01:22:16 +02:00
Kenneth Skovhede 40dd3c6816 Updated all license mentions to MIT 2024-02-28 15:45:30 +01:00
Kenneth Hsu 457254d9e1 Remove unused local variables. 2019-04-17 20:10:53 -07:00
verhoek 8bb406cd15 Migrated to use the platform class. 2018-11-02 22:17:16 +01:00
Kenneth Hsu 05d8fd425e Add comments to explain empty methods. 2018-10-10 21:28:00 -07:00
Kenneth Hsu 0c1ac9c489 Replace chained LINQ calls with call to overload with predicate.
This simplifies the code by reducing the number of enumerators created
while also making the code slightly more readable.
2018-10-06 16:20:18 -07:00
Kenneth Skovhede 842fd96543 Implemented a new logging system that is more transparent and allows a more granular way of picking log messages.
Added ID's to each log message and each exception to allow later introduction of a Knowledgebase service that explains each error in more detail.
2018-03-15 09:12:34 +01:00
Kenneth Hsu 8810e0130d Make string comparisons use ordinal (binary) sort rules.
These string comparisons should not be culture-aware.
2017-11-26 11:19:54 -08:00
Kenneth Hsu 59703e268c Avoid unnecessary enumeration.
Instead of enumerating the entire sequence and checking that the number
of elements is positive, we can simply check to see if the sequence
contains at least one element.
2017-09-26 19:45:07 -07:00
Kenneth Skovhede c4271e93d7 Prevent loading the HyperV and MSSQL modules on Linux, and safeguard against null input.
This fixes #2233
2017-01-16 11:48:41 +01:00
Kenneth Skovhede a029890409 Implemented better default error messsages 2017-01-09 11:35:38 +01:00
Max 0e7abf2390 added additional checks 2016-12-04 16:12:57 +01:00
Max a0ee607bf1 REST API for MSSQL backup and changes in Hyper-V 2016-11-02 00:02:34 +01:00
Kenneth Skovhede b765c48ac0 Refactored the HyperVOptions generic module to exit quickly on non-windows platforms to avoid loading Windows-only libraries.
This fixes #2037
2016-10-26 22:53:31 +02:00
Max 23bc04f589 bugfix 2016-10-23 00:24:36 +02:00
Max 5c7dfcada7 Refactor of hyper-v backup 2016-10-22 23:08:27 +02:00
Max c56c8d0667 additional verification of hyper-v
ability to show paths in GUI
2016-10-22 16:17:58 +02:00
Max 252497d9fd upstream 2016-10-22 14:51:54 +02:00
Max 2205ba3b40 added check for source is null 2016-10-17 19:59:50 +02:00
Max e4a1ee9afa ability to see hyperv vms paths 2016-10-16 22:36:29 +02:00
Max f56d4f6ab9 changed structure of hyper-v source 2016-10-16 02:18:56 +02:00
Max 06cccea7a7 moved hyper-v code to hyper-v classes 2016-10-16 01:40:12 +02:00
Max 17178b56d9 Added ability to have hidden command options to prevent UnsupportedOptionWarning log 2016-10-16 00:43:31 +02:00
Max 8c72cefd5b changes in hyper-v backed 2016-10-15 23:55:50 +02:00
Max f68695ca41 Added ability to backup hyperv using webgui 2016-10-15 16:18:26 +02:00