Commit Graph
18 Commits
Author SHA1 Message Date
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 0fb8930329 Added elaborate version comparison to avoid shipping with wrong versions. 2025-04-14 17:37:51 +02:00
Kenneth Skovhede 966391e245 Update release build stability
With 2.1.0.114 we re-introduced the assembly version issue.

This commit fixes the check to actually validate the version numbers.
2025-04-14 15:42:19 +02:00
Kenneth Skovhede bd7a080d15 Reverted logic for building with temporary solutions as that can cause debug builds in the outputs and gives build warnings.
The logic is reverted to build each project into a build folder, and then copy the files into a shared common folder.

An additional check examines the log output and checks that there are no debug builds performed or used.
2025-04-13 23:32:39 +02:00
Kenneth Skovhede cf47b77d7a Manually clean source folders prior to build 2025-04-01 13:25:50 +02:00
Kenneth Skovhede b658ad30a4 Write sln to temp file first 2025-04-01 12:56:23 +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 0f1d20530d Change builds to run in a single go, instead of patching folders.
This should prevent the wrong versions being picked up due to partial builds.
2025-04-01 11:35:09 +02: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 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 e99a8fa92f Better error message for build failures 2024-10-03 16:37:52 +02:00
Kenneth Skovhede ecd22ac264 Added support for building agent packages.
Still lacking support for Windows MSI + MacOS pkg as they are currently tied to the TrayIcon being the base.
2024-09-18 15:29:52 +02:00
Kenneth Skovhede 7f2703c5b6 Added option to toggle self-hosted builds 2024-05-27 12:21:19 +02:00
Kenneth Skovhede 1bdfed6a90 Implemented a workaround for loading Uplink.net binaries 2024-04-29 16:14:09 +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 f1e767b9cc Work on creating the signed manifests 2024-03-27 19:52:40 +01:00