Commit Graph
27 Commits
Author SHA1 Message Date
Kenneth Skovhede 6502017c57 Merge remote-tracking branch 'origin/master' into feature/vanara-vss-backup 2025-07-03 17:09:30 +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
Carl Johnsen b729a1929a SQLite no longer has to be manually patched 2025-06-23 13:30:46 +02:00
Carl Johnsen e536c73be2 Removed whitespace 2025-06-23 13:30:28 +02:00
Kenneth Skovhede 430e4a8b1b Better Windows support 2025-04-15 00:05:20 +02:00
Kenneth Skovhede b3ba14cfb5 Improved validation by checking the nuget package versions against the actual binary versions in the output folder.
Added check for executables to avoid shipping with missing executables.
2025-04-01 11:36:27 +02:00
Kenneth Skovhede 0be27f8df4 Added additional checks 2025-03-28 13:41:49 +01:00
Kenneth Skovhede 6dc542f1fa Probe for additional file 2025-03-17 14:21:16 +01:00
Kenneth Skovhede a15dd4f2e0 Safeguards for release compile
This adds additional checks for the compile phase to avoid missing files in the released builds.

The build is now done into isolated folders, and then copied into the shared target folder to avoid issues with the compiler replacing or removing files.
2025-03-14 15:11:38 +01:00
Kenneth Skovhede 616d8b75a7 Simplified MacOS code signing 2025-02-25 16:43:28 +01:00
Kenneth Skovhede 66aa3cd9d6 Added support for profiles when building for different channels.
Changed the default config name to have a `duplicati` prefix.
2025-02-25 15:07:17 +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 176539b421 Added support for building MacOS pkg files for agent 2024-11-08 16:14:44 +01:00
Kenneth Skovhede 37b35dfe2c Do not try to sign non-existing files 2024-10-03 17:37:25 +02:00
Kenneth Skovhede 1b3bd236e0 Updated build process to replace ARMv7 binaries to onces compatible with GLIBC from Debian Buster.
This fixes #5533
2024-09-04 20:47:26 +02:00
Kenneth Skovhede 8afeadf55b Setting the version number on files inside the MSI prevents broken upgrades.
This fixes #5233
2024-09-03 13:49:25 +02:00
Kenneth Skovhede 2bbf0207e3 Added newly built libMono.Unix.so with large file support for 32bit Arm.
This fixes #5352
2024-08-02 23:12:32 +02:00
Kenneth Skovhede b39a68bda7 Prepared for new Uplink packages that correctly package the Storj binaries 2024-07-09 12:15:12 +02:00
Kenneth Skovhede 7dab2f5935 Removed bundled GPG binaries for Windows.
Improved search logic for finding GPG executable on all operating systems.
This also removes the `win-tools` folder.
2024-06-04 15:21:22 +02:00
Kenneth Skovhede b3f0b1be81 Renamed binaires pre-install for all platforms.
Improved CLI builds, especially for RPM
Fixed permission issues in packages
2024-05-22 13:00:43 +02:00
Kenneth Skovhede 1bdfed6a90 Implemented a workaround for loading Uplink.net binaries 2024-04-29 16:14:09 +02:00
Kenneth Skovhede b73e94de7e Removed unused files.
Moved installer files into the ReleaseBuilder
2024-04-23 14:24:38 +02:00
Kenneth Skovhede 7b9af8d237 Fixed an issue with MacOS packages not being correctly placed during build 2024-04-16 15:26:25 +02:00
Kenneth Skovhede 55b22ee18b Added support for uploading packges in the build flow.
Improved re-run of failed builds.
2024-04-11 12:44:12 +02:00
Kenneth Skovhede 6cd9eb0f0c Fixed missing executables.
Removed debug config folder in packages.
Use systematic names for packages
2024-04-08 14:29:09 +02:00
Kenneth Skovhede 8f5025af62 Fixed code signing on MacOS 2024-04-05 15:26:39 +02:00
Kenneth Skovhede f1e767b9cc Work on creating the signed manifests 2024-03-27 19:52:40 +01:00