diff --git a/.editorconfig b/.editorconfig
index b01d449846a..b8b05b40aa4 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -12,7 +12,7 @@ insert_final_newline = true
charset = utf-8-bom
# XML project files
-[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj,wixproj,msbuildproj}]
+[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj,wixproj,ikvmproj}]
indent_size = 2
# XML config files
diff --git a/Cyberduck.sln b/Cyberduck.sln
index a7a00c5df4f..c4ad8a680da 100644
--- a/Cyberduck.sln
+++ b/Cyberduck.sln
@@ -26,15 +26,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "duck", "duck", "{457F1D6D-8
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Cyberduck", "Cyberduck", "{7D32EE61-B6F0-4978-B500-45172B181283}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WindowsVersionCustomAction", "windows\src\main\wix\WindowsVersionCustomAction\WindowsVersionCustomAction.vcxproj", "{FBA5EFE2-362B-4BAD-A748-3248F79468AC}"
+Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "Cyberduck.Bootstrapper", "windows\src\main\wix\Bootstrapper\Cyberduck.Bootstrapper.wixproj", "{00858CE5-437F-46BE-8A2E-519B552DBF7D}"
EndProject
-Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Cyberduck.Bootstrapper", "windows\src\main\wix\Bootstrapper\Cyberduck.Bootstrapper.wixproj", "{00858CE5-437F-46BE-8A2E-519B552DBF7D}"
+Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "Cyberduck.Bundle", "windows\src\main\wix\Bundle\Cyberduck.Bundle.wixproj", "{65AB4CE3-5AF4-411A-928C-7FFD250C6D85}"
EndProject
-Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Cyberduck.Bundle", "windows\src\main\wix\Bundle\Cyberduck.Bundle.wixproj", "{65AB4CE3-5AF4-411A-928C-7FFD250C6D85}"
+Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "duck.bootstrapper", "cli\src\main\wix\Bootstrapper\duck.bootstrapper.wixproj", "{EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}"
EndProject
-Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "duck.bootstrapper", "cli\src\main\wix\Bootstrapper\duck.bootstrapper.wixproj", "{EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}"
-EndProject
-Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "duck.bundle", "cli\src\main\wix\Bundle\duck.bundle.wixproj", "{F6975079-F730-4A31-9909-DE536E524764}"
+Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "duck.bundle", "cli\src\main\wix\Bundle\duck.bundle.wixproj", "{F6975079-F730-4A31-9909-DE536E524764}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Core.Refresh", "core\native\refresh\src\main\csharp\Cyberduck.Core.Refresh.csproj", "{D1286C4A-9D6A-4904-B9AD-CB7688483EDB}"
EndProject
@@ -43,25 +41,25 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
.editorconfig = .editorconfig
Directory.Build.props = Directory.Build.props
Directory.Build.targets = Directory.Build.targets
+ Directory.Packages.props = Directory.Packages.props
global.json = global.json
- Packages.props = Packages.props
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "i18n-gen", "core\i18n-gen\i18n-gen.csproj", "{ABB0D3AD-BCDA-4F73-88C3-C67B76AAB6FE}"
EndProject
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "package", "windows\src\main\package\package.wapproj", "{55CDD736-9A8A-4091-AC99-60E2F9C73269}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Core", "core\dll\Cyberduck.Core.msbuildproj", "{1B4DFDAD-C676-4338-B435-F2F62D79E096}"
+Project("{DAEA77DE-8320-43BA-BA7C-EF5C12478AB5}") = "Cyberduck.Core", "core\dll\Cyberduck.Core.ikvmproj", "{1B4DFDAD-C676-4338-B435-F2F62D79E096}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Bonjour", "bonjour\dll\Cyberduck.Bonjour.msbuildproj", "{B31E6C36-D710-443F-8ED7-16BE3BD51FC4}"
+Project("{DAEA77DE-8320-43BA-BA7C-EF5C12478AB5}") = "Cyberduck.Bonjour", "bonjour\dll\Cyberduck.Bonjour.ikvmproj", "{B31E6C36-D710-443F-8ED7-16BE3BD51FC4}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Importer", "importer\dll\Cyberduck.Importer.msbuildproj", "{C9B1C169-1354-4348-9938-7892399C6336}"
+Project("{DAEA77DE-8320-43BA-BA7C-EF5C12478AB5}") = "Cyberduck.Importer", "importer\dll\Cyberduck.Importer.ikvmproj", "{C9B1C169-1354-4348-9938-7892399C6336}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Protocols", "protocols\dll\Cyberduck.Protocols.msbuildproj", "{9C7B827F-AE30-44C4-A210-E49DF883C720}"
+Project("{DAEA77DE-8320-43BA-BA7C-EF5C12478AB5}") = "Cyberduck.Protocols", "protocols\dll\Cyberduck.Protocols.ikvmproj", "{9C7B827F-AE30-44C4-A210-E49DF883C720}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Cryptomator", "cryptomator\dll\Cyberduck.Cryptomator.msbuildproj", "{7EFC0398-8F4D-4850-BBE3-A0CC85410559}"
+Project("{DAEA77DE-8320-43BA-BA7C-EF5C12478AB5}") = "Cyberduck.Cryptomator", "cryptomator\dll\Cyberduck.Cryptomator.ikvmproj", "{7EFC0398-8F4D-4850-BBE3-A0CC85410559}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Cli", "cli\dll\Cyberduck.Cli.msbuildproj", "{2D33598A-21A1-4117-82DC-250F4CE8D5E5}"
+Project("{DAEA77DE-8320-43BA-BA7C-EF5C12478AB5}") = "Cyberduck.Cli", "cli\dll\Cyberduck.Cli.ikvmproj", "{2D33598A-21A1-4117-82DC-250F4CE8D5E5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -69,18 +67,6 @@ Global
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1B4DFDAD-C676-4338-B435-F2F62D79E096}.Debug|x64.ActiveCfg = Debug|Any CPU
- {1B4DFDAD-C676-4338-B435-F2F62D79E096}.Debug|x64.Build.0 = Debug|Any CPU
- {1B4DFDAD-C676-4338-B435-F2F62D79E096}.Release|x64.ActiveCfg = Release|Any CPU
- {1B4DFDAD-C676-4338-B435-F2F62D79E096}.Release|x64.Build.0 = Release|Any CPU
- {2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Debug|x64.ActiveCfg = Debug|Any CPU
- {2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Debug|x64.Build.0 = Debug|Any CPU
- {2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Release|x64.ActiveCfg = Release|Any CPU
- {2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Release|x64.Build.0 = Release|Any CPU
- {7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Debug|x64.ActiveCfg = Debug|Any CPU
- {7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Debug|x64.Build.0 = Debug|Any CPU
- {7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Release|x64.ActiveCfg = Release|Any CPU
- {7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Release|x64.Build.0 = Release|Any CPU
{89D94AC6-3D04-4B67-A39B-C1DEFB8A1766}.Debug|x64.ActiveCfg = Debug|x64
{89D94AC6-3D04-4B67-A39B-C1DEFB8A1766}.Debug|x64.Build.0 = Debug|x64
{89D94AC6-3D04-4B67-A39B-C1DEFB8A1766}.Release|x64.ActiveCfg = Release|x64
@@ -101,42 +87,22 @@ Global
{04AFCFBB-97D5-44EA-B087-F0CFAEB51E30}.Debug|x64.Build.0 = Debug|x64
{04AFCFBB-97D5-44EA-B087-F0CFAEB51E30}.Release|x64.ActiveCfg = Release|x64
{04AFCFBB-97D5-44EA-B087-F0CFAEB51E30}.Release|x64.Build.0 = Release|x64
- {9C7B827F-AE30-44C4-A210-E49DF883C720}.Debug|x64.ActiveCfg = Debug|Any CPU
- {9C7B827F-AE30-44C4-A210-E49DF883C720}.Debug|x64.Build.0 = Debug|Any CPU
- {9C7B827F-AE30-44C4-A210-E49DF883C720}.Release|x64.ActiveCfg = Release|Any CPU
- {9C7B827F-AE30-44C4-A210-E49DF883C720}.Release|x64.Build.0 = Release|Any CPU
- {B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Debug|x64.ActiveCfg = Debug|Any CPU
- {B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Debug|x64.Build.0 = Debug|Any CPU
- {B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Release|x64.ActiveCfg = Release|Any CPU
- {B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Release|x64.Build.0 = Release|Any CPU
{B5565834-1164-4858-AF50-AE89CFC9BDD2}.Debug|x64.ActiveCfg = Debug|x64
{B5565834-1164-4858-AF50-AE89CFC9BDD2}.Debug|x64.Build.0 = Debug|x64
{B5565834-1164-4858-AF50-AE89CFC9BDD2}.Release|x64.ActiveCfg = Release|x64
{B5565834-1164-4858-AF50-AE89CFC9BDD2}.Release|x64.Build.0 = Release|x64
- {C9B1C169-1354-4348-9938-7892399C6336}.Debug|x64.ActiveCfg = Debug|Any CPU
- {C9B1C169-1354-4348-9938-7892399C6336}.Debug|x64.Build.0 = Debug|Any CPU
- {C9B1C169-1354-4348-9938-7892399C6336}.Release|x64.ActiveCfg = Release|Any CPU
- {C9B1C169-1354-4348-9938-7892399C6336}.Release|x64.Build.0 = Release|Any CPU
- {FBA5EFE2-362B-4BAD-A748-3248F79468AC}.Debug|x64.ActiveCfg = Debug|Win32
- {FBA5EFE2-362B-4BAD-A748-3248F79468AC}.Debug|x64.Build.0 = Debug|Win32
- {FBA5EFE2-362B-4BAD-A748-3248F79468AC}.Release|x64.ActiveCfg = Release|Win32
- {FBA5EFE2-362B-4BAD-A748-3248F79468AC}.Release|x64.Build.0 = Release|Win32
- {00858CE5-437F-46BE-8A2E-519B552DBF7D}.Debug|x64.ActiveCfg = Debug|x86
- {00858CE5-437F-46BE-8A2E-519B552DBF7D}.Debug|x64.Build.0 = Debug|x86
- {00858CE5-437F-46BE-8A2E-519B552DBF7D}.Release|x64.ActiveCfg = Release|x86
- {00858CE5-437F-46BE-8A2E-519B552DBF7D}.Release|x64.Build.0 = Release|x86
- {65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Debug|x64.ActiveCfg = Debug|x86
- {65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Debug|x64.Build.0 = Debug|x86
- {65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Release|x64.ActiveCfg = Release|x86
- {65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Release|x64.Build.0 = Release|x86
- {EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}.Debug|x64.ActiveCfg = Debug|x86
- {EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}.Debug|x64.Build.0 = Debug|x86
- {EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}.Release|x64.ActiveCfg = Release|x86
- {EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}.Release|x64.Build.0 = Release|x86
- {F6975079-F730-4A31-9909-DE536E524764}.Debug|x64.ActiveCfg = Debug|x86
- {F6975079-F730-4A31-9909-DE536E524764}.Debug|x64.Build.0 = Debug|x86
- {F6975079-F730-4A31-9909-DE536E524764}.Release|x64.ActiveCfg = Release|x86
- {F6975079-F730-4A31-9909-DE536E524764}.Release|x64.Build.0 = Release|x86
+ {00858CE5-437F-46BE-8A2E-519B552DBF7D}.Debug|x64.ActiveCfg = Debug|x64
+ {00858CE5-437F-46BE-8A2E-519B552DBF7D}.Debug|x64.Build.0 = Debug|x64
+ {00858CE5-437F-46BE-8A2E-519B552DBF7D}.Release|x64.ActiveCfg = Release|x64
+ {00858CE5-437F-46BE-8A2E-519B552DBF7D}.Release|x64.Build.0 = Release|x64
+ {65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Debug|x64.ActiveCfg = Debug|x64
+ {65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Debug|x64.Build.0 = Debug|x64
+ {65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Release|x64.ActiveCfg = Release|x64
+ {65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Release|x64.Build.0 = Release|x64
+ {EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}.Debug|x64.ActiveCfg = Debug|x64
+ {EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}.Release|x64.ActiveCfg = Release|x64
+ {F6975079-F730-4A31-9909-DE536E524764}.Debug|x64.ActiveCfg = Debug|x64
+ {F6975079-F730-4A31-9909-DE536E524764}.Release|x64.ActiveCfg = Release|x64
{D1286C4A-9D6A-4904-B9AD-CB7688483EDB}.Debug|x64.ActiveCfg = Debug|x64
{D1286C4A-9D6A-4904-B9AD-CB7688483EDB}.Debug|x64.Build.0 = Debug|x64
{D1286C4A-9D6A-4904-B9AD-CB7688483EDB}.Release|x64.ActiveCfg = Release|x64
@@ -151,27 +117,44 @@ Global
{55CDD736-9A8A-4091-AC99-60E2F9C73269}.Release|x64.ActiveCfg = Release|x64
{55CDD736-9A8A-4091-AC99-60E2F9C73269}.Release|x64.Build.0 = Release|x64
{55CDD736-9A8A-4091-AC99-60E2F9C73269}.Release|x64.Deploy.0 = Release|x64
+ {1B4DFDAD-C676-4338-B435-F2F62D79E096}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {1B4DFDAD-C676-4338-B435-F2F62D79E096}.Debug|x64.Build.0 = Debug|Any CPU
+ {1B4DFDAD-C676-4338-B435-F2F62D79E096}.Release|x64.ActiveCfg = Release|Any CPU
+ {1B4DFDAD-C676-4338-B435-F2F62D79E096}.Release|x64.Build.0 = Release|Any CPU
+ {B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Debug|x64.Build.0 = Debug|Any CPU
+ {B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Release|x64.ActiveCfg = Release|Any CPU
+ {B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Release|x64.Build.0 = Release|Any CPU
+ {C9B1C169-1354-4348-9938-7892399C6336}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {C9B1C169-1354-4348-9938-7892399C6336}.Debug|x64.Build.0 = Debug|Any CPU
+ {C9B1C169-1354-4348-9938-7892399C6336}.Release|x64.ActiveCfg = Release|Any CPU
+ {C9B1C169-1354-4348-9938-7892399C6336}.Release|x64.Build.0 = Release|Any CPU
+ {9C7B827F-AE30-44C4-A210-E49DF883C720}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {9C7B827F-AE30-44C4-A210-E49DF883C720}.Debug|x64.Build.0 = Debug|Any CPU
+ {9C7B827F-AE30-44C4-A210-E49DF883C720}.Release|x64.ActiveCfg = Release|Any CPU
+ {9C7B827F-AE30-44C4-A210-E49DF883C720}.Release|x64.Build.0 = Release|Any CPU
+ {7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Debug|x64.Build.0 = Debug|Any CPU
+ {7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Release|x64.ActiveCfg = Release|Any CPU
+ {7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Release|x64.Build.0 = Release|Any CPU
+ {2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Debug|x64.Build.0 = Debug|Any CPU
+ {2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Release|x64.ActiveCfg = Release|Any CPU
+ {2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
- {1B4DFDAD-C676-4338-B435-F2F62D79E096} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
- {2D33598A-21A1-4117-82DC-250F4CE8D5E5} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
- {7EFC0398-8F4D-4850-BBE3-A0CC85410559} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{89D94AC6-3D04-4B67-A39B-C1DEFB8A1766} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{1926AB55-690C-4081-99D5-170847C206D9} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{581C7683-D22D-4346-B3BF-DC2936231C46} = {8B08EF96-10D6-4F35-94C1-986F9F0F1506}
{2287E64E-3515-4324-9833-553348295C15} = {3FAE38FB-24D9-4F8C-81BA-68BAD19FC81D}
{72B4BA09-65D8-4C49-930E-B14104B2AB1B} = {3FAE38FB-24D9-4F8C-81BA-68BAD19FC81D}
{04AFCFBB-97D5-44EA-B087-F0CFAEB51E30} = {3FAE38FB-24D9-4F8C-81BA-68BAD19FC81D}
- {9C7B827F-AE30-44C4-A210-E49DF883C720} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
- {B31E6C36-D710-443F-8ED7-16BE3BD51FC4} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{B5565834-1164-4858-AF50-AE89CFC9BDD2} = {8B08EF96-10D6-4F35-94C1-986F9F0F1506}
{457F1D6D-8AEC-42E2-9211-2A8405C95019} = {0DF59FB4-AEA9-4213-A935-6DB851411B67}
{7D32EE61-B6F0-4978-B500-45172B181283} = {0DF59FB4-AEA9-4213-A935-6DB851411B67}
- {C9B1C169-1354-4348-9938-7892399C6336} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
- {FBA5EFE2-362B-4BAD-A748-3248F79468AC} = {7D32EE61-B6F0-4978-B500-45172B181283}
{00858CE5-437F-46BE-8A2E-519B552DBF7D} = {7D32EE61-B6F0-4978-B500-45172B181283}
{65AB4CE3-5AF4-411A-928C-7FFD250C6D85} = {7D32EE61-B6F0-4978-B500-45172B181283}
{EF87DE0E-BC36-4D3C-8852-C8AD11D01F04} = {457F1D6D-8AEC-42E2-9211-2A8405C95019}
@@ -179,6 +162,12 @@ Global
{D1286C4A-9D6A-4904-B9AD-CB7688483EDB} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{ABB0D3AD-BCDA-4F73-88C3-C67B76AAB6FE} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{55CDD736-9A8A-4091-AC99-60E2F9C73269} = {7D32EE61-B6F0-4978-B500-45172B181283}
+ {1B4DFDAD-C676-4338-B435-F2F62D79E096} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
+ {B31E6C36-D710-443F-8ED7-16BE3BD51FC4} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
+ {C9B1C169-1354-4348-9938-7892399C6336} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
+ {9C7B827F-AE30-44C4-A210-E49DF883C720} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
+ {7EFC0398-8F4D-4850-BBE3-A0CC85410559} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
+ {2D33598A-21A1-4117-82DC-250F4CE8D5E5} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {289E6003-15D5-4377-ADA6-2E7093785BCD}
diff --git a/Directory.Build.props b/Directory.Build.props
index 18751344e85..7cd498cbc8f 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -16,38 +16,11 @@
-
- iterate GmbH
- Libre FTP, SFTP, WebDAV, S3 and OpenStack Swift browser for Mac and Windows.
-
-
$(MSBuildThisFileDirectory)
$(CyberduckDir)src\main\msbuild\
- $(ModulePath)target\
- $(TargetBuildDir)lib\
- $(TargetBuildDir)generated\msbuild\
-
- $(TargetBuildDir)
- false
-
- $(ArtifactsPath)obj\$(MSBuildProjectName)\
- $(ArtifactsPath)
- $(BaseIntermediateOutputPath)$(Configuration)\
- $(BaseOutputPath)
-
- false
- 12
-
- false
-
-
-
-
-
-
-
+
-
\ No newline at end of file
+
diff --git a/Directory.Build.targets b/Directory.Build.targets
index 7eecb31013b..bb8c9469a1c 100644
--- a/Directory.Build.targets
+++ b/Directory.Build.targets
@@ -16,84 +16,6 @@
-
-
-
- $(LibDir);$(AssemblySearchPaths)
-
-
-
- net472
- net8.0
- $(LibDir)$(LibDirFramework)\;$(AssemblySearchPaths)
-
-
-
- $(DefaultItemExcludes);**/*net472*
-
-
- $(DefaultItemExcludes);**/*net8.0*
-
-
-
-
- $(CyberduckDir)bonjour\dll\Cyberduck.Bonjour.msbuildproj
-
-
- $(CyberduckDir)bonjour\src\main\csharp\Cyberduck.Bonjour.Native.csproj
-
-
- $(CyberduckDir)cli\dll\Cyberduck.Cli.msbuildproj
-
-
- $(CyberduckDir)core\dll\Cyberduck.Core.msbuildproj
-
-
- $(CyberduckDir)core\src\main\csharp\Cyberduck.Core.Native.csproj
-
-
- $(CyberduckDir)core\native\refresh\src\main\csharp\Cyberduck.Core.Refresh.csproj
-
-
- $(CyberduckDir)cryptomator\dll\Cyberduck.Cryptomator.msbuildproj
-
-
- $(CyberduckDir)importer\dll\Cyberduck.Importer.msbuildproj
-
-
- $(CyberduckDir)protocols\dll\Cyberduck.Protocols.msbuildproj
-
-
-
-
-
- Cyberduck.%(Identity)
-
-
- \\?\
-
-
-
-
-
- win-x86
- win-x64
-
-
-
-
- $([MSBuild]::VersionLessThanOrEquals('$(NETCoreSdkVersion)', '6.0.301'))
- $([MSBuild]::VersionGreaterThanOrEquals('$(NETCoreSdkVersion)', '6.0.401'))
- SDKFix_RemoveDuplicateAnalyzers;$(CoreCompileDependsOn)
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/Directory.Packages.props b/Directory.Packages.props
new file mode 100644
index 00000000000..b1a9795c8d3
--- /dev/null
+++ b/Directory.Packages.props
@@ -0,0 +1,55 @@
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @(PackageVersion->'%(Identity)'->Replace('.', '_')->'Pkg%(Identity)Version=%(Version)')
+
+
diff --git a/Packages.props b/Packages.props
index b2a59fca685..0ca713fed61 100644
--- a/Packages.props
+++ b/Packages.props
@@ -39,6 +39,7 @@
+
diff --git a/bonjour/dll/Cyberduck.Bonjour.msbuildproj b/bonjour/dll/Cyberduck.Bonjour.ikvmproj
similarity index 85%
rename from bonjour/dll/Cyberduck.Bonjour.msbuildproj
rename to bonjour/dll/Cyberduck.Bonjour.ikvmproj
index 4efb34d915e..b5119d86da3 100644
--- a/bonjour/dll/Cyberduck.Bonjour.msbuildproj
+++ b/bonjour/dll/Cyberduck.Bonjour.ikvmproj
@@ -1,5 +1,4 @@
-
-
+
-
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bonjour/dll/pom.xml b/bonjour/dll/pom.xml
index 3f0c7cc8797..bcff55db9a9 100644
--- a/bonjour/dll/pom.xml
+++ b/bonjour/dll/pom.xml
@@ -50,17 +50,16 @@
build-helper-maven-plugin
- install-dll
- verify
+ install-nupkg
+ package
attach-artifact
- net472
- dll
- ${project.build.directory}/net472/Cyberduck.Bonjour.dll
+ nupkg
+ ${project.build.directory}/Cyberduck.Bonjour.${project.version}.nupkg
@@ -76,9 +75,8 @@
ch.cyberduck
Cyberduck.Core
- net472
+ nupkg
${project.version}
- dll
diff --git a/bonjour/native/Directory.Build.props b/bonjour/native/Directory.Build.props
index ae8c28c65de..17adff8d341 100644
--- a/bonjour/native/Directory.Build.props
+++ b/bonjour/native/Directory.Build.props
@@ -15,10 +15,11 @@
-
- $(MSBuildThisFileDirectory)
-
+
+ Cyberduck.Bonjour.Native
+ $(MSBuildThisFileDirectory)
+
-
+
-
+
\ No newline at end of file
diff --git a/bonjour/native/build.xml b/bonjour/native/build.xml
index fd59646a58f..6dfdf913695 100644
--- a/bonjour/native/build.xml
+++ b/bonjour/native/build.xml
@@ -37,4 +37,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/bonjour/native/pom.xml b/bonjour/native/pom.xml
index 4d90379c658..b5960de96b6 100644
--- a/bonjour/native/pom.xml
+++ b/bonjour/native/pom.xml
@@ -28,7 +28,7 @@
build-helper-maven-plugin
- install-dll
+ install-nupkg
package
attach-artifact
@@ -36,9 +36,8 @@
- net472
- dll
- ${project.build.directory}/net472/Cyberduck.Bonjour.Native.dll
+ nupkg
+ ${project.build.directory}/Cyberduck.Bonjour.Native.${project.version}.nupkg
@@ -54,8 +53,7 @@
ch.cyberduck
Cyberduck.Bonjour
- net472
- dll
+ nupkg
${project.version}
diff --git a/bonjour/native/src/main/nuget/Cyberduck.Bonjour.Native.nuspec b/bonjour/native/src/main/nuget/Cyberduck.Bonjour.Native.nuspec
new file mode 100644
index 00000000000..9134c53240f
--- /dev/null
+++ b/bonjour/native/src/main/nuget/Cyberduck.Bonjour.Native.nuspec
@@ -0,0 +1,20 @@
+
+
+
+ $id$
+ $version$
+ $description$
+ $authors$
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/bonjour/native/src/main/nuget/nuget.proj b/bonjour/native/src/main/nuget/nuget.proj
new file mode 100644
index 00000000000..f5a01498fce
--- /dev/null
+++ b/bonjour/native/src/main/nuget/nuget.proj
@@ -0,0 +1,9 @@
+
+
+
+ netstandard2.0
+ true
+ false
+ Cyberduck.Bonjour.Native.nuspec
+
+
diff --git a/bonjour/src/main/csharp/Directory.Build.props b/bonjour/src/main/Directory.Build.props
similarity index 100%
rename from bonjour/src/main/csharp/Directory.Build.props
rename to bonjour/src/main/Directory.Build.props
diff --git a/bonjour/src/main/csharp/Cyberduck.Bonjour.Native.csproj b/bonjour/src/main/csharp/Cyberduck.Bonjour.Native.csproj
index f26981c6860..62132827907 100644
--- a/bonjour/src/main/csharp/Cyberduck.Bonjour.Native.csproj
+++ b/bonjour/src/main/csharp/Cyberduck.Bonjour.Native.csproj
@@ -13,7 +13,6 @@
-
diff --git a/bonjour/src/main/csharp/nuget.proj b/bonjour/src/main/csharp/nuget.proj
new file mode 100644
index 00000000000..6b158b5b195
--- /dev/null
+++ b/bonjour/src/main/csharp/nuget.proj
@@ -0,0 +1,8 @@
+
+
+ netstandard2.0
+ true
+ false
+ Cyberduck.Core.Native.nuspec
+
+
diff --git a/build.xml b/build.xml
index ed1113ebfb3..f4c0e516f83 100644
--- a/build.xml
+++ b/build.xml
@@ -127,24 +127,43 @@
-
+
+
+
-
+
-
+
-
+
+
+
+
+
+
+
+
-
-
+
+
-
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/cli/dll/Cyberduck.Cli.ikvmproj b/cli/dll/Cyberduck.Cli.ikvmproj
new file mode 100644
index 00000000000..5567cf24de4
--- /dev/null
+++ b/cli/dll/Cyberduck.Cli.ikvmproj
@@ -0,0 +1,12 @@
+
+
+ net8.0
+
+
+
+
+
+
+
+
+
diff --git a/cli/dll/Cyberduck.Cli.msbuildproj b/cli/dll/Cyberduck.Cli.msbuildproj
deleted file mode 100644
index 80b06bc152b..00000000000
--- a/cli/dll/Cyberduck.Cli.msbuildproj
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
- net472
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/cli/dll/build.xml b/cli/dll/build.xml
index 68d88d0cf85..d26f3e01fc0 100644
--- a/cli/dll/build.xml
+++ b/cli/dll/build.xml
@@ -16,17 +16,25 @@
-->
-
+
-
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/cli/dll/pom.xml b/cli/dll/pom.xml
index ea26818272f..b0eafac5771 100644
--- a/cli/dll/pom.xml
+++ b/cli/dll/pom.xml
@@ -70,9 +70,8 @@
- net472
- dll
- ${project.build.directory}/net472/Cyberduck.Cli.dll
+ nupkg
+ ${project.build.directory}/Cyberduck.Cli.${project.version}.nupkg
@@ -91,29 +90,19 @@
ch.cyberduck
Cyberduck.Core
- net472
- dll
- ${project.version}
-
-
- ch.cyberduck
- Cyberduck.Core.Native
- net472
- dll
+ nupkg
${project.version}
ch.cyberduck
Cyberduck.Protocols
- net472
- dll
+ nupkg
${project.version}
ch.cyberduck
Cyberduck.Cryptomator
- net472
- dll
+ nupkg
${project.version}
@@ -141,5 +130,21 @@
+
+ org.fusesource.jansi
+ jansi
+ ${jansi.version}
+ x86_64
+ dll
+ runtime
+
+
+ org.fusesource.jansi
+ jansi
+ ${jansi.version}
+ arm64
+ dll
+ runtime
+
diff --git a/cli/linux/pom.xml b/cli/linux/pom.xml
index 48e734dea7b..61480291368 100644
--- a/cli/linux/pom.xml
+++ b/cli/linux/pom.xml
@@ -81,6 +81,14 @@
${jna-version}
runtime
+
+ org.fusesource.jansi
+ jansi
+ ${jansi.version}
+ arm64
+ so
+ runtime
+
@@ -99,6 +107,14 @@
${jna-version}
runtime
+
+ org.fusesource.jansi
+ jansi
+ ${jansi.version}
+ ${os.arch}
+ so
+ runtime
+
@@ -117,6 +133,14 @@
${jna-version}
runtime
+
+ org.fusesource.jansi
+ jansi
+ ${jansi.version}
+ x86_64
+ so
+ runtime
+
diff --git a/cli/osx/build.xml b/cli/osx/build.xml
index 3fbdc051e19..ed291d181ec 100644
--- a/cli/osx/build.xml
+++ b/cli/osx/build.xml
@@ -23,7 +23,7 @@
+ value="-client --add-opens=java.base/sun.security.ssl=ALL-UNNAMED --add-opens=java.base/sun.security.util=ALL-UNNAMED -Djava.library.path=$APP_PACKAGE/Contents/Frameworks -Dlibrary.jansi.path=$APP_PACKAGE/Contents/Frameworks -Djna.boot.library.path=$APP_PACKAGE/Contents/Frameworks -Djna.library.path=$APP_PACKAGE/Contents/Frameworks -Djna.nounpack=true -Djava.awt.headless=true -Dsun.jnu.encoding=utf-8 -Dfile.encoding=utf-8 -Dsun.io.useCanonCaches=false -DLog4jContextSelector=org.apache.logging.log4j.core.selector.BasicContextSelector -XX:+UseG1GC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:+UseStringDeduplication"/>
diff --git a/cli/osx/pom.xml b/cli/osx/pom.xml
index c89dce8a6e2..a1fb6580e29 100644
--- a/cli/osx/pom.xml
+++ b/cli/osx/pom.xml
@@ -81,7 +81,7 @@
${project.build.directory}/duck.bundle/Contents/Frameworks
- dylib
+ dylib,jnilib
runtime
true
true
@@ -226,5 +226,12 @@
test
${project.version}
+
+ org.fusesource.jansi
+ libjansi
+ ${jansi.version}
+ jnilib
+ runtime
+
diff --git a/cli/pom.xml b/cli/pom.xml
index ee96138b736..f57a0171c47 100644
--- a/cli/pom.xml
+++ b/cli/pom.xml
@@ -79,8 +79,8 @@
org.fusesource.jansi
- jansi
- 2.4.0
+ jansi-min
+ ${jansi.version}
diff --git a/cli/src/main/csharp/Properties/PublishProfiles/win-arm64.pubxml b/cli/src/main/csharp/Properties/PublishProfiles/win-arm64.pubxml
new file mode 100644
index 00000000000..b7028ce11ac
--- /dev/null
+++ b/cli/src/main/csharp/Properties/PublishProfiles/win-arm64.pubxml
@@ -0,0 +1,7 @@
+
+
+
+ win-arm64
+ true
+
+
\ No newline at end of file
diff --git a/cli/src/main/csharp/Properties/PublishProfiles/win-x64.pubxml b/cli/src/main/csharp/Properties/PublishProfiles/win-x64.pubxml
new file mode 100644
index 00000000000..3bab3131c94
--- /dev/null
+++ b/cli/src/main/csharp/Properties/PublishProfiles/win-x64.pubxml
@@ -0,0 +1,7 @@
+
+
+
+ win-x64
+ true
+
+
\ No newline at end of file
diff --git a/cli/src/main/csharp/ch/cyberduck/cli/WindowsTerminalPreferences.cs b/cli/src/main/csharp/ch/cyberduck/cli/WindowsTerminalPreferences.cs
index e4cadaf6cb6..641979ee41c 100644
--- a/cli/src/main/csharp/ch/cyberduck/cli/WindowsTerminalPreferences.cs
+++ b/cli/src/main/csharp/ch/cyberduck/cli/WindowsTerminalPreferences.cs
@@ -16,6 +16,7 @@
// feedback@cyberduck.io
//
+using System;
using ch.cyberduck.cli;
using ch.cyberduck.core.cryptomator;
using ch.cyberduck.core.serviceloader;
@@ -28,6 +29,7 @@
using Ch.Cyberduck.Core.Proxy;
using java.security;
using sun.security.mscapi;
+using JavaSystem = java.lang.System;
namespace Ch.Cyberduck.Cli
{
@@ -48,6 +50,8 @@ protected override void setDefaults()
{
base.setDefaults();
+ JavaSystem.setProperty("library.jansi.path", AppContext.BaseDirectory);
+
this.setDefault("application.language", "en");
Security.addProvider(new SunMSCAPI());
diff --git a/cli/src/main/csharp/duck.csproj b/cli/src/main/csharp/duck.csproj
index f5c7bd33988..0f2fb7b9ac4 100644
--- a/cli/src/main/csharp/duck.csproj
+++ b/cli/src/main/csharp/duck.csproj
@@ -2,9 +2,10 @@
Exe
- net472
- x64
- win-x64
+ net8.0-windows10.0.22621.0
+ win-x64;win-arm64
+ x64;arm64
+ win-$(Platform)
@@ -12,18 +13,10 @@
-
- $(Filename)$(Extension)
- PreserveNewest
-
-
- $(Filename)$(Extension)
- PreserveNewest
-
-
- PreserveNewest
- $(Filename)$(Extension)
-
+
+
+
+
bookmarks/%(Filename)%(Extension)
@@ -39,9 +32,4 @@
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/cli/src/main/java/ch/cyberduck/cli/LinuxTerminalPreferences.java b/cli/src/main/java/ch/cyberduck/cli/LinuxTerminalPreferences.java
index e3fe8cf2bce..2c82309e44f 100644
--- a/cli/src/main/java/ch/cyberduck/cli/LinuxTerminalPreferences.java
+++ b/cli/src/main/java/ch/cyberduck/cli/LinuxTerminalPreferences.java
@@ -45,6 +45,9 @@ public LinuxTerminalPreferences() {
protected void setDefaults() {
super.setDefaults();
+ this.setProperty("library.jansi.path", new ClasspathResourcesFinder().find().getAbsolute());
+ this.setProperty("jna.boot.library.path", new ClasspathResourcesFinder().find().getAbsolute());
+
try {
final Process echo = Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", "echo ~"});
this.setDefault("local.user.home", StringUtils.strip(IOUtils.toString(echo.getInputStream(), Charset.defaultCharset())));
diff --git a/cli/src/main/wix/Bootstrapper/Cyberduck CLI Bundle.wxs b/cli/src/main/wix/Bootstrapper/Cyberduck CLI Bundle.wxs
index a82786ba8aa..ed8e1457821 100644
--- a/cli/src/main/wix/Bootstrapper/Cyberduck CLI Bundle.wxs
+++ b/cli/src/main/wix/Bootstrapper/Cyberduck CLI Bundle.wxs
@@ -1,29 +1,20 @@
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
- = v10.0 AND CBNumber >= 14393]]>
-
+
-
-
-
+
+
+
+
+
+
diff --git a/cli/src/main/wix/Bootstrapper/duck.bootstrapper.wixproj b/cli/src/main/wix/Bootstrapper/duck.bootstrapper.wixproj
index 06f38763188..c6d00922eb2 100644
--- a/cli/src/main/wix/Bootstrapper/duck.bootstrapper.wixproj
+++ b/cli/src/main/wix/Bootstrapper/duck.bootstrapper.wixproj
@@ -1,90 +1,14 @@
-
-
-
+
- 3.14
- ef87de0e-bc36-4d3c-8852-c8ad11d01f04
- 2.0
- duck-$(Version)
+ duck-$(FileVersion)
Bundle
- CyberduckDir=$(CyberduckDir);SetupDir=$(SetupDir)
+ CyberduckDir=$(CyberduckDir);SetupDir=$(SetupDir);ProductVersion=$(FileVersion)
-
- false
- Debug;$(DefineConstants)
-
-
- true
-
-
-
-
-
-
-
-
-
-
- $(WixExtDir)\WixNetFxExtension.dll
- WixNetFxExtension
-
-
- $(WixExtDir)\WixBalExtension.dll
- WixBalExtension
-
-
- $(WixExtDir)\WixUtilExtension.dll
- WixUtilExtension
-
+
+
-
- CLI-WiX
- {f6975079-f730-4a31-9909-de536e524764}
- True
- True
- Binaries;Content;Satellites
- INSTALLFOLDER
-
+
-
-
-
-
-
-
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0@InstallationFolder)
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits\Installed Roots@KitsRoot10)
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@InstallationFolder)bin\
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion).0\
- $(Win10SDKBinPath)$(Win10SDKVersion)
-
-
-
-
- $(FrameworkSdkPath)bin\signtool.exe
- $(WinSDK)\bin\x86\signtool.exe
- $(Win10SDKVerBinPath)x86\signtool.exe
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/cli/src/main/wix/Bundle/Cyberduck CLI-WiX.wxs b/cli/src/main/wix/Bundle/Cyberduck CLI-WiX.wxs
index 33670d2310e..cb13f9ddfc3 100644
--- a/cli/src/main/wix/Bundle/Cyberduck CLI-WiX.wxs
+++ b/cli/src/main/wix/Bundle/Cyberduck CLI-WiX.wxs
@@ -1,111 +1,29 @@
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
- = 14393]]>
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
\ No newline at end of file
diff --git a/cli/src/main/wix/Bundle/duck.bundle.wixproj b/cli/src/main/wix/Bundle/duck.bundle.wixproj
index 5daa10a2cb2..709eca5b97f 100644
--- a/cli/src/main/wix/Bundle/duck.bundle.wixproj
+++ b/cli/src/main/wix/Bundle/duck.bundle.wixproj
@@ -1,104 +1,12 @@
-
-
-
+
- 3.11
- f6975079-f730-4a31-9909-de536e524764
- 2.0
- duck-$(Version)
- Package
- x64
+ duck-$(FileVersion)-$(Platform)
+ x64;arm64
- CyberduckDir=$(CyberduckDir);
- ProfilesDir=$(CyberduckDir)profiles\default\;
- LicenseFile=$(CyberduckDir)i18n/src/main/resources/en.lproj/License.txt;
- IkvmRuntimeDir=$(TargetBuildDir)\ikvm;
- $(DefineConstants)
+ ProductVersion=$(FileVersion)
-
- false
- Debug;$(DefineConstants)
-
-
- true
-
-
-
-
-
-
-
- Profiles
- PROFILES
- ProfileComponents
- var.ProfilesDir
-
-
- ikvm
- INSTALLLOCATION
- IkvmRuntime
- var.IkvmRuntimeDir
-
-
-
-
-
-
-
-
-
-
-
- CLI
- {4b14000d-f435-4eca-a119-7aef03792dee}
- True
- True
- Binaries;Content;Satellites
- INSTALLFOLDER
-
-
-
- $(WixExtDir)\WixNetFxExtension.dll
- WixNetFxExtension
-
+
-
-
-
-
-
-
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0@InstallationFolder)
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits\Installed Roots@KitsRoot10)
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@InstallationFolder)bin\
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion).0\
- $(Win10SDKBinPath)$(Win10SDKVersion)
-
-
-
-
- $(FrameworkSdkPath)bin\signtool.exe
- $(WinSDK)\bin\x86\signtool.exe
- $(Win10SDKVerBinPath)x86\signtool.exe
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/cli/src/main/wix/Directory.Build.props b/cli/src/main/wix/Directory.Build.props
index dd4d65e2292..41cf1d2014a 100644
--- a/cli/src/main/wix/Directory.Build.props
+++ b/cli/src/main/wix/Directory.Build.props
@@ -15,14 +15,14 @@
-
- <_CliBasePath>$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)../', 'Directory.Build.props'))/
-
-
+
+ <_CliBasePath>$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)../', 'Directory.Build.props'))/
+
+
-
- $(OutputPath)$(Configuration)
- $(CyberduckDir)setup\wix\
-
+
+ $(BaseOutputPath)$(Configuration)\
+ $(CyberduckDir)setup\wix\
+
-
+
\ No newline at end of file
diff --git a/cli/windows/Directory.Build.props b/cli/windows/Directory.Build.props
index 345496fbdd4..446ced77aa6 100644
--- a/cli/windows/Directory.Build.props
+++ b/cli/windows/Directory.Build.props
@@ -17,7 +17,6 @@
$(MSBuildThisFileDirectory)
- false
diff --git a/cli/windows/build.xml b/cli/windows/build.xml
index 294b61d3c35..8c2d98d1fcb 100644
--- a/cli/windows/build.xml
+++ b/cli/windows/build.xml
@@ -23,7 +23,7 @@
-
+
@@ -32,7 +32,7 @@
-
+
@@ -40,19 +40,12 @@
-
-
-
-
-
-
-
+
+
-
-
diff --git a/cli/windows/build.proj b/cli/windows/dirs.proj
similarity index 63%
rename from cli/windows/build.proj
rename to cli/windows/dirs.proj
index 9d4e4035e57..c498d1a49d5 100644
--- a/cli/windows/build.proj
+++ b/cli/windows/dirs.proj
@@ -2,10 +2,12 @@
+
-
+
+
diff --git a/cli/windows/pom.xml b/cli/windows/pom.xml
index b9c7f24fc3d..215b9482e39 100644
--- a/cli/windows/pom.xml
+++ b/cli/windows/pom.xml
@@ -40,37 +40,8 @@
maven-antrun-plugin
- run-ant-installer-target
- package
-
- run
-
-
-
-
-
-
-
-
-
-
-
-
- run-ant-deploy-target
- deploy
-
- run
-
-
-
-
-
-
-
-
-
-
-
+ pack-nupkg
+ none
@@ -83,40 +54,88 @@
ch.cyberduck
Cyberduck.Core
- net472
- dll
+ nupkg
${project.version}
ch.cyberduck
Cyberduck.Core.Native
- net472
- dll
+ nupkg
${project.version}
runtime
ch.cyberduck
Cyberduck.Protocols
- net472
- dll
+ nupkg
${project.version}
ch.cyberduck
Cyberduck.Cryptomator
- net472
- dll
+ nupkg
${project.version}
ch.cyberduck
Cyberduck.Cli
- net472
- dll
+ nupkg
${project.version}
+
+ installer
+
+
+ env.JENKINS_HOME
+
+
+ Windows
+
+
+
+
+
+ maven-antrun-plugin
+
+
+ run-ant-installer-target
+ package
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+ run-ant-deploy-target
+ deploy
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
\ No newline at end of file
diff --git a/core/dll/Cyberduck.Core.msbuildproj b/core/dll/Cyberduck.Core.ikvmproj
similarity index 82%
rename from core/dll/Cyberduck.Core.msbuildproj
rename to core/dll/Cyberduck.Core.ikvmproj
index 39d59a7e8fb..9a5bcebf585 100644
--- a/core/dll/Cyberduck.Core.msbuildproj
+++ b/core/dll/Cyberduck.Core.ikvmproj
@@ -4,8 +4,6 @@
net472;net8.0
-
-
diff --git a/core/dll/Directory.Build.props b/core/dll/Directory.Build.props
index 415d5cdf9b5..08574032576 100644
--- a/core/dll/Directory.Build.props
+++ b/core/dll/Directory.Build.props
@@ -15,10 +15,10 @@
-
- $(MSBuildThisFileDirectory)
-
+
+ $(MSBuildThisFileDirectory)
+
-
+
-
+
\ No newline at end of file
diff --git a/core/dll/build.xml b/core/dll/build.xml
index c49487124ed..3d0f208acbb 100644
--- a/core/dll/build.xml
+++ b/core/dll/build.xml
@@ -24,13 +24,21 @@
-
+
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/core/dll/pom.xml b/core/dll/pom.xml
index 789b49dcfde..8df60430c30 100644
--- a/core/dll/pom.xml
+++ b/core/dll/pom.xml
@@ -50,22 +50,16 @@
build-helper-maven-plugin
- install-dll
- verify
+ install-nupkg
+ package
attach-artifact
- net472
- dll
- ${project.build.directory}/net472/Cyberduck.Core.dll
-
-
- net8.0
- dll
- ${project.build.directory}/net8.0/Cyberduck.Core.dll
+ nupkg
+ ${project.build.directory}/Cyberduck.Core.${project.version}.nupkg
@@ -102,6 +96,14 @@
${jna-version}
runtime
+
+ net.java.dev.jna
+ jnidispatch
+ aarch64
+ dll
+ ${jna-version}
+ runtime
+
diff --git a/core/i18n-gen/i18n-gen.csproj b/core/i18n-gen/i18n-gen.csproj
index c6589fd79fb..48ab06f0c85 100644
--- a/core/i18n-gen/i18n-gen.csproj
+++ b/core/i18n-gen/i18n-gen.csproj
@@ -5,6 +5,7 @@
9.0
i18n_gen
True
+ false
diff --git a/core/i18n-gen/i18n-gen.targets b/core/i18n-gen/i18n-gen.targets
index ff9b37d2bfa..07430771edb 100644
--- a/core/i18n-gen/i18n-gen.targets
+++ b/core/i18n-gen/i18n-gen.targets
@@ -1,18 +1,19 @@
- $(CyberduckDir)core\target\netstandard2.0\i18n-gen.dll
+ $(CyberduckDir)core\target\i18n-gen.dll
+ AssemblyFile="$(i18n_gen_dll)"
+ TaskFactory="TaskHostFactory" />
+ AssemblyFile="$(i18n_gen_dll)"
+ TaskFactory="TaskHostFactory" />
-
+
+ OutputItemType="Analyzer"
+ ReferenceOutputAssembly="False"
+ SetPlatform="Platform=" />
-
+
\ No newline at end of file
diff --git a/core/native/Directory.Build.props b/core/native/Directory.Build.props
index 415d5cdf9b5..08574032576 100644
--- a/core/native/Directory.Build.props
+++ b/core/native/Directory.Build.props
@@ -15,10 +15,10 @@
-
- $(MSBuildThisFileDirectory)
-
+
+ $(MSBuildThisFileDirectory)
+
-
+
-
+
\ No newline at end of file
diff --git a/core/native/build.xml b/core/native/build.xml
index 914ac71531e..1eca549a17f 100644
--- a/core/native/build.xml
+++ b/core/native/build.xml
@@ -21,27 +21,34 @@
-->
-
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
-
+
+
-
+
\ No newline at end of file
diff --git a/core/native/build.proj b/core/native/dirs.proj
similarity index 74%
rename from core/native/build.proj
rename to core/native/dirs.proj
index 0f8972db81a..9ee449db01a 100644
--- a/core/native/build.proj
+++ b/core/native/dirs.proj
@@ -2,6 +2,7 @@
+
-
+
\ No newline at end of file
diff --git a/core/native/pom.xml b/core/native/pom.xml
index 2f6e4533181..5cb612c9f4e 100644
--- a/core/native/pom.xml
+++ b/core/native/pom.xml
@@ -32,7 +32,7 @@
build-helper-maven-plugin
- install-dll
+ install-nupkg
package
attach-artifact
@@ -40,14 +40,8 @@
- net472
- dll
- ${project.build.directory}/net472/Cyberduck.Core.Native.dll
-
-
- net8.0
- dll
- ${project.build.directory}/net8.0-windows10.0.22621.0/Cyberduck.Core.Native.dll
+ nupkg
+ ${project.build.directory}/Cyberduck.Core.Native.${project.version}.nupkg
@@ -83,15 +77,7 @@
ch.cyberduck
Cyberduck.Core
- net472
- dll
- ${project.version}
-
-
- ch.cyberduck
- Cyberduck.Core
- net8.0
- dll
+ nupkg
${project.version}
@@ -108,4 +94,4 @@
test
-
+
\ No newline at end of file
diff --git a/core/native/refresh/Directory.Build.props b/core/native/refresh/Directory.Build.props
index 415d5cdf9b5..05a101d4b82 100644
--- a/core/native/refresh/Directory.Build.props
+++ b/core/native/refresh/Directory.Build.props
@@ -15,10 +15,11 @@
-
- $(MSBuildThisFileDirectory)
-
+
+ Cyberduck.Core.Refresh
+ $(MSBuildThisFileDirectory)
+
-
+
-
+
\ No newline at end of file
diff --git a/core/native/refresh/build.xml b/core/native/refresh/build.xml
index 90d718df519..8e018ae69c5 100644
--- a/core/native/refresh/build.xml
+++ b/core/native/refresh/build.xml
@@ -24,18 +24,24 @@
-
+
-
+
-
+
+
+
+
+
+
+
diff --git a/core/native/refresh/dirs.proj b/core/native/refresh/dirs.proj
new file mode 100644
index 00000000000..14980442909
--- /dev/null
+++ b/core/native/refresh/dirs.proj
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/core/native/refresh/pom.xml b/core/native/refresh/pom.xml
index 9228acedf7c..26a47b8d7d8 100644
--- a/core/native/refresh/pom.xml
+++ b/core/native/refresh/pom.xml
@@ -28,7 +28,7 @@
build-helper-maven-plugin
- install-dll
+ install-nupkg
package
attach-artifact
@@ -36,14 +36,8 @@
- net472
- dll
- ${project.build.directory}/net472/Cyberduck.Core.Refresh.dll
-
-
- net8.0
- dll
- ${project.build.directory}/net8.0-windows10.0.22621.0/Cyberduck.Core.Refresh.dll
+ nupkg
+ ${project.build.directory}/Cyberduck.Core.Refresh.${project.version}.nupkg
@@ -59,15 +53,7 @@
ch.cyberduck
Cyberduck.Core.Native
- net472
- dll
- ${project.version}
-
-
- ch.cyberduck
- Cyberduck.Core.Native
- net8.0
- dll
+ nupkg
${project.version}
diff --git a/core/native/refresh/src/main/csharp/Cyberduck.Core.Refresh.csproj b/core/native/refresh/src/main/csharp/Cyberduck.Core.Refresh.csproj
index b2429b5cd3a..b93bb79f1fc 100644
--- a/core/native/refresh/src/main/csharp/Cyberduck.Core.Refresh.csproj
+++ b/core/native/refresh/src/main/csharp/Cyberduck.Core.Refresh.csproj
@@ -18,7 +18,7 @@
net472;net8.0-windows10.0.22621.0
10.0.14393.0
- x64
+ x64;arm64
12.0
true
true
@@ -31,7 +31,6 @@
-
all
runtime; build; native; contentfiles; analyzers; buildtransitive
@@ -41,10 +40,13 @@
runtime; build; native; contentfiles; analyzers; buildtransitive
-
+
+
+
+
diff --git a/core/native/refresh/src/main/nuget/Cyberduck.Core.Refresh.nuspec b/core/native/refresh/src/main/nuget/Cyberduck.Core.Refresh.nuspec
new file mode 100644
index 00000000000..67229ab9bd5
--- /dev/null
+++ b/core/native/refresh/src/main/nuget/Cyberduck.Core.Refresh.nuspec
@@ -0,0 +1,34 @@
+
+
+
+ $id$
+ $version$
+ $description$
+ $authors$
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/native/refresh/src/main/nuget/build/net8.0-windows10.0.22621.0/Cyberduck.Core.Refresh.targets b/core/native/refresh/src/main/nuget/build/net8.0-windows10.0.22621.0/Cyberduck.Core.Refresh.targets
new file mode 100644
index 00000000000..a6c412e656a
--- /dev/null
+++ b/core/native/refresh/src/main/nuget/build/net8.0-windows10.0.22621.0/Cyberduck.Core.Refresh.targets
@@ -0,0 +1,7 @@
+
+
+
+ $(MSBuildThisFileDirectory)../../lib/net8.0-windows10.0.22621.0/win-$(Platform)/Cyberduck.Core.Refresh.dll
+
+
+
\ No newline at end of file
diff --git a/core/native/refresh/src/main/nuget/nuget.proj b/core/native/refresh/src/main/nuget/nuget.proj
new file mode 100644
index 00000000000..b67ea958fcf
--- /dev/null
+++ b/core/native/refresh/src/main/nuget/nuget.proj
@@ -0,0 +1,8 @@
+
+
+ netstandard2.0
+ true
+ false
+ Cyberduck.Core.Refresh.nuspec
+
+
diff --git a/core/native/src/main/Cyberduck.Core.Native.nuspec b/core/native/src/main/Cyberduck.Core.Native.nuspec
new file mode 100644
index 00000000000..0a672abe1e8
--- /dev/null
+++ b/core/native/src/main/Cyberduck.Core.Native.nuspec
@@ -0,0 +1,34 @@
+
+
+
+ $id$
+ $version$
+ $description$
+ $authors$
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/native/src/main/Directory.Build.props b/core/native/src/main/Directory.Build.props
new file mode 100644
index 00000000000..f09eb05b706
--- /dev/null
+++ b/core/native/src/main/Directory.Build.props
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core/native/src/main/build/net8.0-windows10.0.22621.0/Cyberduck.Core.Native.targets b/core/native/src/main/build/net8.0-windows10.0.22621.0/Cyberduck.Core.Native.targets
new file mode 100644
index 00000000000..bc0498253ee
--- /dev/null
+++ b/core/native/src/main/build/net8.0-windows10.0.22621.0/Cyberduck.Core.Native.targets
@@ -0,0 +1,7 @@
+
+
+
+ $(MSBuildThisFileDirectory)../../lib/net8.0-windows10.0.22621.0/win-$(Platform)/Cyberduck.Core.Native.dll
+
+
+
\ No newline at end of file
diff --git a/core/native/src/main/nuget.proj b/core/native/src/main/nuget.proj
new file mode 100644
index 00000000000..6b158b5b195
--- /dev/null
+++ b/core/native/src/main/nuget.proj
@@ -0,0 +1,8 @@
+
+
+ netstandard2.0
+ true
+ false
+ Cyberduck.Core.Native.nuspec
+
+
diff --git a/core/src/main/csharp/Cyberduck.Core.Native.csproj b/core/src/main/csharp/Cyberduck.Core.Native.csproj
index d8948205cd8..4faf4585f78 100644
--- a/core/src/main/csharp/Cyberduck.Core.Native.csproj
+++ b/core/src/main/csharp/Cyberduck.Core.Native.csproj
@@ -18,7 +18,7 @@
net472;net8.0-windows10.0.22621.0
10.0.14393.0
- x64
+ x64;arm64
true
@@ -27,7 +27,6 @@
-
all
@@ -40,13 +39,13 @@
-
+
-
+
diff --git a/core/src/main/csharp/Directory.Build.props b/core/src/main/csharp/Directory.Build.props
index 4a975e0eebb..64e75b0a913 100644
--- a/core/src/main/csharp/Directory.Build.props
+++ b/core/src/main/csharp/Directory.Build.props
@@ -16,9 +16,10 @@
+ Cyberduck.Core.Native
<_CoreBasePath>$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)../', 'Directory.Build.props'))/
-
-
+
+
\ No newline at end of file
diff --git a/core/src/main/csharp/ch/cyberduck/core/preferences/ApplicationPreferences.cs b/core/src/main/csharp/ch/cyberduck/core/preferences/ApplicationPreferences.cs
index 696187f5406..75300e13ce5 100644
--- a/core/src/main/csharp/ch/cyberduck/core/preferences/ApplicationPreferences.cs
+++ b/core/src/main/csharp/ch/cyberduck/core/preferences/ApplicationPreferences.cs
@@ -45,8 +45,6 @@ public ApplicationPreferences(Locales locales, IPropertyStoreFactory propertySto
this.locales = locales;
SetEnvironmentInfo();
this.propertyStore = propertyStore.New();
-
- JavaSystem.setProperty("jna.boot.library.path", AppContext.BaseDirectory);
}
public override List applicationLocales() => locales.applicationLocales();
@@ -145,6 +143,8 @@ protected override void setDefaults()
{
base.setDefaults();
+ JavaSystem.setProperty("jna.boot.library.path", AppContext.BaseDirectory);
+
this.setDefault("os.version", Environment.OSVersion.Version.ToString());
this.setDefault("oauth.handler.scheme",
diff --git a/cryptomator/dll/Cyberduck.Cryptomator.msbuildproj b/cryptomator/dll/Cyberduck.Cryptomator.ikvmproj
similarity index 83%
rename from cryptomator/dll/Cyberduck.Cryptomator.msbuildproj
rename to cryptomator/dll/Cyberduck.Cryptomator.ikvmproj
index 8622a7d14bd..9ed7fe53f7b 100644
--- a/cryptomator/dll/Cyberduck.Cryptomator.msbuildproj
+++ b/cryptomator/dll/Cyberduck.Cryptomator.ikvmproj
@@ -1,16 +1,12 @@
-
net472;net8.0
-
-
-
\ No newline at end of file
diff --git a/cryptomator/dll/build.xml b/cryptomator/dll/build.xml
index f5d9e5435cf..da5be489dd3 100644
--- a/cryptomator/dll/build.xml
+++ b/cryptomator/dll/build.xml
@@ -15,18 +15,26 @@
-->
-
+
-
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/cryptomator/dll/pom.xml b/cryptomator/dll/pom.xml
index 7744f726867..11b2d6059b6 100644
--- a/cryptomator/dll/pom.xml
+++ b/cryptomator/dll/pom.xml
@@ -62,7 +62,7 @@
build-helper-maven-plugin
- install-dll
+ install-nupkg
verify
attach-artifact
@@ -70,14 +70,8 @@
- net472
- dll
- ${project.build.directory}/net472/Cyberduck.Cryptomator.dll
-
-
- net8.0
- dll
- ${project.build.directory}/net8.0/Cyberduck.Cryptomator.dll
+ nupkg
+ ${project.build.directory}/Cyberduck.Cryptomator.${project.version}.nupkg
@@ -96,15 +90,7 @@
ch.cyberduck
Cyberduck.Core
- net472
- dll
- ${project.version}
-
-
- ch.cyberduck
- Cyberduck.Core
- net8.0
- dll
+ nupkg
${project.version}
diff --git a/global.json b/global.json
index dcd03a13278..3124b4973a6 100644
--- a/global.json
+++ b/global.json
@@ -1,7 +1,8 @@
{
"msbuild-sdks": {
- "IKVM.NET.Sdk": "8.11.0-dev.283",
+ "IKVM.NET.Sdk": "8.11.2",
"Microsoft.Build.NoTargets": "3.7.56",
- "Microsoft.Build.Traversal": "4.1.0"
+ "Microsoft.Build.Traversal": "4.1.0",
+ "WixToolset.Sdk": "5.0.2"
}
}
diff --git a/protocols/dll/Cyberduck.Protocols.msbuildproj b/importer/dll/Cyberduck.Importer.ikvmproj
similarity index 83%
rename from protocols/dll/Cyberduck.Protocols.msbuildproj
rename to importer/dll/Cyberduck.Importer.ikvmproj
index 8622a7d14bd..9ed7fe53f7b 100644
--- a/protocols/dll/Cyberduck.Protocols.msbuildproj
+++ b/importer/dll/Cyberduck.Importer.ikvmproj
@@ -1,16 +1,12 @@
-
net472;net8.0
-
-
-
\ No newline at end of file
diff --git a/importer/dll/build.xml b/importer/dll/build.xml
index 547ea69d8d0..2a108355914 100644
--- a/importer/dll/build.xml
+++ b/importer/dll/build.xml
@@ -24,13 +24,21 @@
-
+
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/importer/dll/pom.xml b/importer/dll/pom.xml
index 46f30b66102..25b3655a1e4 100644
--- a/importer/dll/pom.xml
+++ b/importer/dll/pom.xml
@@ -47,7 +47,7 @@
build-helper-maven-plugin
- install-dll
+ install-nupkg
verify
attach-artifact
@@ -55,14 +55,8 @@
- net472
- dll
- ${project.build.directory}/net472/Cyberduck.Importer.dll
-
-
- net8.0
- dll
- ${project.build.directory}/net8.0/Cyberduck.Importer.dll
+ nupkg
+ ${project.build.directory}/Cyberduck.Importer.${project.version}.nupkg
@@ -81,15 +75,7 @@
ch.cyberduck
Cyberduck.Core
- net472
- dll
- ${project.version}
-
-
- ch.cyberduck
- Cyberduck.Core
- net8.0
- dll
+ nupkg
${project.version}
diff --git a/nuget.config b/nuget.config
index 2a93883a26e..dd70b0b80a4 100644
--- a/nuget.config
+++ b/nuget.config
@@ -7,13 +7,13 @@
+
+
+
-
-
-
diff --git a/pom.xml b/pom.xml
index fc309eab5d8..69c8c3327ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -92,6 +92,7 @@
4.5.0
8u312b07
0.10.0
+ 2.4.2
ch.cyberduck.test.IntegrationTest
@@ -623,35 +624,35 @@
${project.build.directory}/lib
- net472,net8.0
+ net472,net8.0,net8.0-x64,net8.0-arm64,aarch64,arm64,x86_64
dll
true
true
- copy-dependencies-dll-net472-target
+ copy-dependencies-dll-x64-target
generate-sources
copy-dependencies
- ${project.build.directory}/lib/net472
- net472
+ ${project.build.directory}/lib/x64
+ x86_64
dll
true
true
- copy-dependencies-dll-net8.0-target
+ copy-dependencies-dll-arm64-target
generate-sources
copy-dependencies
- ${project.build.directory}/lib/net8.0
- net8.0
+ ${project.build.directory}/lib/arm64
+ aarch64,arm64
dll
true
true
@@ -1052,6 +1053,19 @@
maven-dependency-plugin
+
+ generate-nupkgs
+ generate-sources
+
+ copy-dependencies
+ collect
+
+
+ nupkg
+ ${project.build.directory}/.nuget/packages.list
+ ${project.build.directory}/.nuget/cache
+
+
copy-dependencies-jar-target
@@ -1062,9 +1076,57 @@
+
+ maven-antrun-plugin
+
+
+ unpack-nupkg
+ process-sources
+
+ run
+
+
+
+
+
+
+
+
+
+ run-msbuild-props-target
+ generate-sources
+
+ run
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pack-nupkg
+ package
+
+ run
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/importer/dll/Cyberduck.Importer.msbuildproj b/protocols/dll/Cyberduck.Protocols.ikvmproj
similarity index 80%
rename from importer/dll/Cyberduck.Importer.msbuildproj
rename to protocols/dll/Cyberduck.Protocols.ikvmproj
index 8622a7d14bd..5ad594aa05d 100644
--- a/importer/dll/Cyberduck.Importer.msbuildproj
+++ b/protocols/dll/Cyberduck.Protocols.ikvmproj
@@ -1,16 +1,12 @@
-
net472;net8.0
-
-
-
-
\ No newline at end of file
+
diff --git a/protocols/dll/build.xml b/protocols/dll/build.xml
index 296b9012ad0..4cdf34143f5 100644
--- a/protocols/dll/build.xml
+++ b/protocols/dll/build.xml
@@ -21,17 +21,25 @@
-->
-
+
-
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/protocols/dll/pom.xml b/protocols/dll/pom.xml
index eabec321f96..52c4948ccfb 100644
--- a/protocols/dll/pom.xml
+++ b/protocols/dll/pom.xml
@@ -47,7 +47,7 @@
build-helper-maven-plugin
- install-dll
+ install-nupkg
verify
attach-artifact
@@ -55,14 +55,8 @@
- net472
- dll
- ${project.build.directory}/net472/Cyberduck.Protocols.dll
-
-
- net8.0
- dll
- ${project.build.directory}/net8.0/Cyberduck.Protocols.dll
+ nupkg
+ ${project.build.directory}/Cyberduck.Protocols.${project.version}.nupkg
@@ -81,15 +75,7 @@
ch.cyberduck
Cyberduck.Core
- net472
- dll
- ${project.version}
-
-
- ch.cyberduck
- Cyberduck.Core
- net8.0
- dll
+ nupkg
${project.version}
diff --git a/src/main/msbuild/Cyberduck.Artifacts.targets b/src/main/msbuild/Cyberduck.Artifacts.targets
new file mode 100644
index 00000000000..e172e0ef3e6
--- /dev/null
+++ b/src/main/msbuild/Cyberduck.Artifacts.targets
@@ -0,0 +1,15 @@
+
+
+
+ $(BaseOutputPath)
+
+
+ false
+
+
+
+ $(BaseOutputPath)
+ $(BaseOutputPath)$(Platform)\
+
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.Common.props b/src/main/msbuild/Cyberduck.Common.props
new file mode 100644
index 00000000000..f76a2640bf3
--- /dev/null
+++ b/src/main/msbuild/Cyberduck.Common.props
@@ -0,0 +1,51 @@
+
+
+
+ iterate GmbH
+ Libre FTP, SFTP, WebDAV, S3 and OpenStack Swift browser for Mac and Windows.
+
+
+
+ $(ModulePath)target\
+ $(TargetBuildDir)lib\
+ $(TargetBuildDir)generated\msbuild\
+
+ false
+ $(TargetBuildDir)
+
+ $(ArtifactsPath)obj\$(MSBuildProjectName)\
+ $(ArtifactsPath)
+
+ false
+ 12
+
+
+ $(TargetBuildDir).nuget\packages\;$(RestoreAdditionalProjectFallbackFolders)
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+ true
+
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.Common.targets b/src/main/msbuild/Cyberduck.Common.targets
new file mode 100644
index 00000000000..64fd8f0a99d
--- /dev/null
+++ b/src/main/msbuild/Cyberduck.Common.targets
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ SignTool.exe sign /d "$(AppName)" /fd sha256 /tr http://timestamp.entrust.net/TSS/RFC3161sha2TS /td sha256 /a /sm /n "iterate GmbH"
+ PATH=@(SignToolPath, '%3B')
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.Cpp.props b/src/main/msbuild/Cyberduck.Cpp.props
deleted file mode 100644
index 96185344ba5..00000000000
--- a/src/main/msbuild/Cyberduck.Cpp.props
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- $(OutputPath)
- $(IntermediateOutputPath)
-
-
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.Default.props b/src/main/msbuild/Cyberduck.Default.props
new file mode 100644
index 00000000000..c3a6698c975
--- /dev/null
+++ b/src/main/msbuild/Cyberduck.Default.props
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.Default.targets b/src/main/msbuild/Cyberduck.Default.targets
new file mode 100644
index 00000000000..3119eecee41
--- /dev/null
+++ b/src/main/msbuild/Cyberduck.Default.targets
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.Java.props b/src/main/msbuild/Cyberduck.Java.props
deleted file mode 100644
index 9c3429b2c88..00000000000
--- a/src/main/msbuild/Cyberduck.Java.props
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- <_DirectoryBuildJavaPropsFile>$([MSBuild]::GetPathOfFileAbove('Directory.Build.Java.props', '$(MSBuildProjectDirectory)'))
-
-
-
-
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.Net.props b/src/main/msbuild/Cyberduck.Net.props
new file mode 100644
index 00000000000..3f28fe2973f
--- /dev/null
+++ b/src/main/msbuild/Cyberduck.Net.props
@@ -0,0 +1,16 @@
+
+
+
+ $(BuildSupportDir)Cyberduck.Artifacts.targets
+
+
+
+
+
+ $(DefaultItemExcludes);**/*net472*
+
+
+ $(DefaultItemExcludes);**/*net8.0*
+
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.Net.targets b/src/main/msbuild/Cyberduck.Net.targets
new file mode 100644
index 00000000000..edd85d01997
--- /dev/null
+++ b/src/main/msbuild/Cyberduck.Net.targets
@@ -0,0 +1,46 @@
+
+
+
+ $(LibDir);$(AssemblySearchPaths)
+
+
+
+ net472
+ net8.0
+
+
+ $(LibDir)$(LibDirFramework)\;$(AssemblySearchPaths)
+ $(LibDir)$(LibDirFramework)\$(Platform)\;$(AssemblySearchpaths)
+
+
+
+
+ win-x86
+ win-x64
+
+
+
+
+
+
+
+
+
+
+
+
+ $([MSBuild]::VersionLessThanOrEquals('$(NETCoreSdkVersion)', '6.0.301'))
+ $([MSBuild]::VersionGreaterThanOrEquals('$(NETCoreSdkVersion)', '6.0.401'))
+ SDKFix_RemoveDuplicateAnalyzers;$(CoreCompileDependsOn)
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.NuGet.targets b/src/main/msbuild/Cyberduck.NuGet.targets
new file mode 100644
index 00000000000..4a7531a769e
--- /dev/null
+++ b/src/main/msbuild/Cyberduck.NuGet.targets
@@ -0,0 +1,22 @@
+
+
+
+ $(GenerateNuspecDependsOn);CyberduckNuspecProperties
+
+
+
+
+
+ $(PackageVersions);
+ id=$(PackageId);
+ version=$(PackageVersion);
+ authors=$(Authors);
+ company=$(Company);
+ description=$(Description);
+ buildDir=$(TargetBuildDir);
+ $(NuspecProperties)
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.References.props b/src/main/msbuild/Cyberduck.References.props
new file mode 100644
index 00000000000..d4ca367ce98
--- /dev/null
+++ b/src/main/msbuild/Cyberduck.References.props
@@ -0,0 +1,52 @@
+
+
+
+
+ $(CyberduckDir)bonjour\dll\Cyberduck.Bonjour.ikvmproj
+
+
+ $(CyberduckDir)bonjour\src\main\csharp\Cyberduck.Bonjour.Native.csproj
+
+
+ $(CyberduckDir)cli\dll\Cyberduck.Cli.ikvmproj
+
+
+ $(CyberduckDir)core\dll\Cyberduck.Core.ikvmproj
+
+
+ $(CyberduckDir)core\src\main\csharp\Cyberduck.Core.Native.csproj
+
+
+ $(CyberduckDir)core\native\refresh\src\main\csharp\Cyberduck.Core.Refresh.csproj
+
+
+ $(CyberduckDir)cryptomator\dll\Cyberduck.Cryptomator.ikvmproj
+
+
+ $(CyberduckDir)importer\dll\Cyberduck.Importer.ikvmproj
+
+
+ $(CyberduckDir)protocols\dll\Cyberduck.Protocols.ikvmproj
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.java.After.targets b/src/main/msbuild/Cyberduck.java.After.targets
new file mode 100644
index 00000000000..851cc15fecd
--- /dev/null
+++ b/src/main/msbuild/Cyberduck.java.After.targets
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/Directory.Build.Java.props b/src/main/msbuild/Cyberduck.java.props
similarity index 69%
rename from Directory.Build.Java.props
rename to src/main/msbuild/Cyberduck.java.props
index daf82155590..f530088aa0b 100644
--- a/Directory.Build.Java.props
+++ b/src/main/msbuild/Cyberduck.java.props
@@ -2,6 +2,7 @@
ikvm.runtime.AppDomainAssemblyClassLoader
+ true
false
1.8
@@ -17,6 +18,11 @@
IKVM0111: Emitted NoClassDefFoundError
-->
IKVM0100;IKVM0101;IKVM0105;IKVM0111;$(NoWarn)
+ $(MSBuildThisFileDirectory)Cyberduck.java.After.targets
+
+
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.wapproj.props b/src/main/msbuild/Cyberduck.wapproj.props
new file mode 100644
index 00000000000..b1d2c94e1e9
--- /dev/null
+++ b/src/main/msbuild/Cyberduck.wapproj.props
@@ -0,0 +1,21 @@
+
+
+
+
+ $(BaseOutputPath)
+ $(OutputPath)$(Configuration)\
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/Cyberduck.wxs.targets b/src/main/msbuild/Cyberduck.wxs.targets
new file mode 100644
index 00000000000..1241f6b1325
--- /dev/null
+++ b/src/main/msbuild/Cyberduck.wxs.targets
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/Microsoft.WindowsSdk.props b/src/main/msbuild/Microsoft.WindowsSdk.props
new file mode 100644
index 00000000000..b809e9c7b75
--- /dev/null
+++ b/src/main/msbuild/Microsoft.WindowsSdk.props
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+ Windows
+ $(VsInstallRoot)\
+ $(VSInstallDir)Common7\IDE\VC\
+
+
+
+
+
+
+
+
+ Native64Bit
+
+
+
+ NativeARM64
+
+
+
+ Native32Bit
+
+
+
+
+ $(VCToolArchitecture)
+
+
+
+ $(WindowsSDK_ExecutablePath_x64);$(WindowsSDK_ExecutablePath_x86)
+
+
+
+ $(WindowsSDK_ExecutablePath_ARM64);$(WindowsSDK_ExecutablePath_x86)
+
+
+
+ $(WindowsSDK_ExecutablePath_x86)
+
+
+
\ No newline at end of file
diff --git a/src/main/msbuild/NuGet-Unpack.ps1 b/src/main/msbuild/NuGet-Unpack.ps1
new file mode 100644
index 00000000000..f017c7a76cd
--- /dev/null
+++ b/src/main/msbuild/NuGet-Unpack.ps1
@@ -0,0 +1,33 @@
+[CmdletBinding()]
+param (
+ # Source path, where all .nupkgs are stored.
+ [Parameter()]
+ [string]
+ $PackagesListPath
+)
+
+if (-not (Test-Path -Path $PackagesListPath -PathType Leaf)) {
+ return;
+}
+
+$NugetParent = [System.IO.Path]::GetDirectoryName($PackagesListPath)
+$CachePath = "$NugetParent\cache"
+$PackagesPath = "$NugetParent\packages"
+
+foreach ($line in Get-Content $PackagesListPath) {
+ $line = $line.Trim()
+ if ($line -notmatch "\s*(?[^:]+):(?[^:]+):(?[^:]+):(?[^:]+):(?[^:]+)$") {
+ continue
+ }
+
+ $artifact = $Matches["artifact"]
+ $version = $Matches["version"]
+
+ $NupkgFile = "$CachePath\$artifact-$version.nupkg"
+ $NupkgZip = "$CachePath\$artifact-$version.zip"
+ $TargetDirectory = "$PackagesPath\$artifact\$version"
+ Copy-Item $NupkgFile $NupkgZip
+ Expand-Archive $NupkgZip $TargetDirectory -Force
+ Remove-Item $NupkgZip
+ Set-Content "$TargetDirectory\.nupkg.metadata" '{}'
+}
diff --git a/src/template/msbuild/Version.props b/src/template/msbuild/Version.props
index 9aa2ba2a632..12e454fa070 100644
--- a/src/template/msbuild/Version.props
+++ b/src/template/msbuild/Version.props
@@ -7,7 +7,11 @@
0
$(AssemblyVersion).$(Revision)
- $(FileVersion)
+ $(InformationalVersion)
+
+
+
+ ${msbuild.sign}
\ No newline at end of file
diff --git a/windows/Directory.Build.props b/windows/Directory.Build.props
index 423651ecc5d..a3586910509 100644
--- a/windows/Directory.Build.props
+++ b/windows/Directory.Build.props
@@ -17,7 +17,6 @@
$(MSBuildThisFileDirectory)
- false
diff --git a/windows/build.xml b/windows/build.xml
index 170392f0ee9..49087fb3884 100755
--- a/windows/build.xml
+++ b/windows/build.xml
@@ -30,13 +30,13 @@
-
+
-
+
@@ -49,10 +49,11 @@
+
-
+
@@ -74,12 +75,11 @@
-
+
-
diff --git a/windows/build.proj b/windows/dirs.proj
similarity index 84%
rename from windows/build.proj
rename to windows/dirs.proj
index a8e703d6492..163805f076f 100644
--- a/windows/build.proj
+++ b/windows/dirs.proj
@@ -15,9 +15,8 @@
-
-
-
+
+
diff --git a/windows/pom.xml b/windows/pom.xml
index 248ea6a64fa..8d3622fe8fd 100644
--- a/windows/pom.xml
+++ b/windows/pom.xml
@@ -76,6 +76,10 @@
+
+ pack-nupkg
+ none
+
@@ -84,57 +88,49 @@
ch.cyberduck
Cyberduck.Core
- net472
- dll
+ nupkg
${project.version}
ch.cyberduck
Cyberduck.Core.Native
- net472
- dll
+ nupkg
${project.version}
ch.cyberduck
Cyberduck.Core.Refresh
- net472
- dll
+ nupkg
${project.version}
ch.cyberduck
Cyberduck.Protocols
- net472
- dll
+ nupkg
${project.version}
ch.cyberduck
Cyberduck.Bonjour
- net472
- dll
+ nupkg
${project.version}
ch.cyberduck
Cyberduck.Bonjour.Native
- net472
- dll
+ nupkg
${project.version}
ch.cyberduck
Cyberduck.Importer
- net472
- dll
+ nupkg
${project.version}
ch.cyberduck
Cyberduck.Cryptomator
- net472
- dll
+ nupkg
${project.version}
diff --git a/windows/src/main/csharp/Cyberduck.csproj b/windows/src/main/csharp/Cyberduck.csproj
index f11ba5602e2..80d5ead984f 100644
--- a/windows/src/main/csharp/Cyberduck.csproj
+++ b/windows/src/main/csharp/Cyberduck.csproj
@@ -3,8 +3,8 @@
WinExe
net472
- win-x64
x64
+ win-x64
true
true
@@ -19,10 +19,9 @@
-
- PreserveNewest
- $(Filename)$(Extension)
-
+
+
+
diff --git a/windows/src/main/package/Directory.Build.props b/windows/src/main/package/Directory.Build.props
deleted file mode 100644
index 5a1f1658923..00000000000
--- a/windows/src/main/package/Directory.Build.props
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
- $(OutputPath)$(Configuration)\
-
-
-
diff --git a/windows/src/main/package/package.wapproj b/windows/src/main/package/package.wapproj
index 5f8d27d72bb..3ae1ed9c962 100644
--- a/windows/src/main/package/package.wapproj
+++ b/windows/src/main/package/package.wapproj
@@ -22,23 +22,16 @@
55cdd736-9a8a-4091-ac99-60e2f9c73269
10.0.22621.0
10.0.15063.0
- net472;$(AssetTargetFallback)
..\csharp\Cyberduck.csproj
false
-
- False
-
-
- True
-
$(SignOutput)
-
+
Package.appxmanifest
Designer
Package.appxmanifest.template
diff --git a/windows/src/main/wix/Bootstrapper/Cyberduck Bootstrapper.wxs b/windows/src/main/wix/Bootstrapper/Cyberduck Bootstrapper.wxs
index 4670c451b2e..fa5456bf793 100644
--- a/windows/src/main/wix/Bootstrapper/Cyberduck Bootstrapper.wxs
+++ b/windows/src/main/wix/Bootstrapper/Cyberduck Bootstrapper.wxs
@@ -1,42 +1,28 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
-
- = v10.0 AND CBNumber >= 14393]]>
-
+
-
-
-
-
+
+
+
-
+
diff --git a/windows/src/main/wix/Bootstrapper/Cyberduck.Bootstrapper.wixproj b/windows/src/main/wix/Bootstrapper/Cyberduck.Bootstrapper.wixproj
index bc6715eb74b..a49733496ea 100644
--- a/windows/src/main/wix/Bootstrapper/Cyberduck.Bootstrapper.wixproj
+++ b/windows/src/main/wix/Bootstrapper/Cyberduck.Bootstrapper.wixproj
@@ -1,89 +1,19 @@
-
-
-
+
- 3.14
- 00858CE5-437F-46BE-8A2E-519B552DBF7D
- 2.0
- Cyberduck-Installer-$(Version)
+ Cyberduck-Installer-$(FileVersion)
+ x64
Bundle
CyberduckDir=$(CyberduckDir);SetupDir=$(SetupDir)
-
- Debug;$(DefineConstants)
- false
-
-
- true
-
-
-
-
-
-
-
-
-
-
- $(WixExtDir)\WixNetFxExtension.dll
- WixNetFxExtension
-
-
- $(WixExtDir)\WixBalExtension.dll
- WixBalExtension
-
-
- $(WixExtDir)\WixUtilExtension.dll
- WixUtilExtension
-
+
+
+
-
- cyberduck-installer-msi
- {65ab4ce3-5af4-411a-928c-7ffd250c6d85}
- True
- True
- Binaries;Content;Satellites
- INSTALLFOLDER
-
+
-
-
-
-
-
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0@InstallationFolder)
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits\Installed Roots@KitsRoot10)
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@InstallationFolder)bin\
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion).0\
- $(Win10SDKBinPath)$(Win10SDKVersion)
-
-
-
-
- $(FrameworkSdkPath)bin\signtool.exe
- $(WinSDK)\bin\x86\signtool.exe
- $(Win10SDKVerBinPath)x86\signtool.exe
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/windows/src/main/wix/Bundle/Cyberduck.Bundle.wixproj b/windows/src/main/wix/Bundle/Cyberduck.Bundle.wixproj
index 7202cc9ce30..b0c6812e83a 100644
--- a/windows/src/main/wix/Bundle/Cyberduck.Bundle.wixproj
+++ b/windows/src/main/wix/Bundle/Cyberduck.Bundle.wixproj
@@ -1,117 +1,13 @@
-
-
-
+
- 3.11
- 65ab4ce3-5af4-411a-928c-7ffd250c6d85
- 2.0
- Cyberduck-Installer-$(Version)
- Package
- x64
+ Cyberduck-Installer-$(FileVersion)
+ x64
CyberduckDir=$(CyberduckDir);
- ProfilesDir=$(CyberduckDir)profiles\default\;
- LicenseFile=$(CyberduckDir)i18n/src/main/resources/en.lproj/License.txt;
- IkvmRuntimeDir=$(TargetBuildDir)\ikvm;
$(DefineConstants)
-
- Debug;$(DefineConstants)
- false
-
-
- true
-
-
-
-
-
-
- cyberduck
- {04AFCFBB-97D5-44EA-B087-F0CFAEB51E30}
- True
- True
- Binaries;Content;Satellites
- INSTALLFOLDER
-
-
- WindowsVersionCustomAction
- {fba5efe2-362b-4bad-a748-3248f79468ac}
- True
- True
- Binaries;Content;Satellites
- INSTALLFOLDER
-
-
-
-
- $(WixExtDir)\WixNetFxExtension.dll
- WixNetFxExtension
-
-
- $(WixExtDir)\WixUtilExtension.dll
- WixUtilExtension
-
-
-
-
- Profiles
- PROFILES
- ProfileComponents
- var.ProfilesDir
-
-
- ikvm
- INSTALLLOCATION
- IkvmRuntime
- var.IkvmRuntimeDir
-
+
-
-
-
-
-
-
-
-
-
-
-
-
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0@InstallationFolder)
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits\Installed Roots@KitsRoot10)
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@InstallationFolder)bin\
- $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@ProductVersion).0\
- $(Win10SDKBinPath)$(Win10SDKVersion)
-
-
-
-
- $(FrameworkSdkPath)bin\signtool.exe
- $(WinSDK)\bin\x86\signtool.exe
- $(Win10SDKVerBinPath)x86\signtool.exe
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/windows/src/main/wix/Bundle/Cyberduck.wxs b/windows/src/main/wix/Bundle/Cyberduck.wxs
index 37f58a1f041..ccff03cd404 100644
--- a/windows/src/main/wix/Bundle/Cyberduck.wxs
+++ b/windows/src/main/wix/Bundle/Cyberduck.wxs
@@ -1,299 +1,208 @@
-
-
-
-
-
+
+
-
-
-
-
+
+
+
+
-
- = 14393]]>
-
-
-
-
-
-
-
-
-
-
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
+
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
- AUTOSTART=1
-
-
+
\ No newline at end of file
diff --git a/windows/src/main/wix/Directory.Build.props b/windows/src/main/wix/Directory.Build.props
index 9b5738332d1..d13e2e3b000 100644
--- a/windows/src/main/wix/Directory.Build.props
+++ b/windows/src/main/wix/Directory.Build.props
@@ -18,8 +18,8 @@
- $(OutputPath)$(Configuration)
- $(CyberduckDir)setup\wix\
+ $(BaseOutputPath)$(Configuration)\
+ $(CyberduckDir)setup\wix\
diff --git a/windows/src/main/wix/WindowsVersionCustomAction/CustomAction.cpp b/windows/src/main/wix/WindowsVersionCustomAction/CustomAction.cpp
deleted file mode 100644
index b4656568fec..00000000000
--- a/windows/src/main/wix/WindowsVersionCustomAction/CustomAction.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-#include "stdafx.h"
-#include
-#include
-
-BOOL GetKernelVersion(VS_FIXEDFILEINFO& vInfo)
-{
- static const wchar_t kernel32[] = L"\\kernel32.dll";
- wchar_t path[MAX_PATH];
-
- unsigned int n = GetSystemDirectory(path, MAX_PATH);
- memcpy_s(path + n, MAX_PATH, kernel32, sizeof(kernel32));
-
- unsigned int size = GetFileVersionInfoSize(path, NULL);
- if (size == 0)
- {
- return false;
- }
-
- std::vector verionInfo;
- verionInfo.resize(size);
- BOOL result = GetFileVersionInfo(path, 0, size, verionInfo.data());
- if (!result || GetLastError() != S_OK)
- {
- return false;
- }
-
- VS_FIXEDFILEINFO *vinfo;
- result = VerQueryValue(verionInfo.data(), L"\\", (LPVOID *)&vinfo, &size);
- vInfo = *vinfo;
-
- return result;
-}
-
-OSVERSIONINFO GetOSVersionInfo()
-{
- OSVERSIONINFO osvi;
-
- VS_FIXEDFILEINFO vinfo;
- if (GetKernelVersion(vinfo))
- {
- osvi.dwMajorVersion = HIWORD(vinfo.dwProductVersionMS);
- osvi.dwMinorVersion = LOWORD(vinfo.dwProductVersionMS);
- osvi.dwBuildNumber = HIWORD(vinfo.dwProductVersionLS);
- }
-
- return osvi;
-}
-
-bool windows10orGreater()
-{
- static const wchar_t kernel32[] = L"\\kernel32.dll";
- wchar_t path[MAX_PATH];
-
- unsigned int n = GetSystemDirectory(path, MAX_PATH);
- memcpy_s(path + n, MAX_PATH, kernel32, sizeof(kernel32));
-
- unsigned int size = GetFileVersionInfoSize(path, NULL);
- if (size == 0)
- {
- return false;
- }
-
- std::vector verionInfo;
- verionInfo.resize(size);
- BOOL result = GetFileVersionInfo(path, 0, size, verionInfo.data());
- if (!result || GetLastError() != S_OK)
- {
- return false;
- }
-
- VS_FIXEDFILEINFO *vinfo;
- result = VerQueryValue(verionInfo.data(), L"\\", (LPVOID *)&vinfo, &size);
- if (!result || size < sizeof(VS_FIXEDFILEINFO))
- {
- return false;
- }
-
- return HIWORD(vinfo->dwProductVersionMS) >= 10;
-}
-
-UINT __stdcall CustomAction1(
- MSIHANDLE hInstall
-)
-{
- HRESULT hr = S_OK;
- UINT er = ERROR_SUCCESS;
-
- hr = WcaInitialize(hInstall, "CustomAction1");
- ExitOnFailure(hr, "Failed to initialize");
-
- WcaLog(LOGMSG_STANDARD, "Initialized.");
-
- // TODO: Add your custom action code here.
- auto eightOrGreater = IsWindows8OrGreater();
- if (eightOrGreater)
- {
- auto osVersion = GetOSVersionInfo();
- hr = WcaSetIntProperty(L"VersionNT", osVersion.dwMajorVersion * 100 + osVersion.dwMinorVersion);
- ExitOnFailure(hr, "Failed on set VersionNT");
- hr = WcaSetIntProperty(L"WindowsBuild", osVersion.dwBuildNumber);
- ExitOnFailure(hr, "Failed on set WindowsBuild");
- }
-
-LExit:
- er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE;
- return WcaFinalize(er);
-}
-
-
-// DllMain - Initialize and cleanup WiX custom action utils.
-extern "C" BOOL WINAPI DllMain(
- __in HINSTANCE hInst,
- __in ULONG ulReason,
- __in LPVOID
-)
-{
- switch (ulReason)
- {
- case DLL_PROCESS_ATTACH:
- WcaGlobalInitialize(hInst);
- break;
-
- case DLL_PROCESS_DETACH:
- WcaGlobalFinalize();
- break;
- }
-
- return TRUE;
-}
diff --git a/windows/src/main/wix/WindowsVersionCustomAction/CustomAction.def b/windows/src/main/wix/WindowsVersionCustomAction/CustomAction.def
deleted file mode 100644
index eaa41932285..00000000000
--- a/windows/src/main/wix/WindowsVersionCustomAction/CustomAction.def
+++ /dev/null
@@ -1,4 +0,0 @@
-LIBRARY "WindowsVersionCustomAction"
-
-EXPORTS
- CustomAction1
diff --git a/windows/src/main/wix/WindowsVersionCustomAction/WindowsVersionCustomAction.vcxproj b/windows/src/main/wix/WindowsVersionCustomAction/WindowsVersionCustomAction.vcxproj
deleted file mode 100644
index e13162a9c7e..00000000000
--- a/windows/src/main/wix/WindowsVersionCustomAction/WindowsVersionCustomAction.vcxproj
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Release
- Win32
-
-
-
- {fba5efe2-362b-4bad-a748-3248f79468ac}
- Win32Proj
- WindowsVersionCustomAction
- 10.0
-
-
-
-
- DynamicLibrary
- v140
- v141
- v142
- v143
- DynamicLibrary
- Unicode
-
-
- true
- true
-
-
- false
- true
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
- Use
- Level3
- $(WIX)sdk\$(WixPlatformToolset)\inc;%(AdditionalIncludeDirectories)
- WIN32;_WINDOWS;_USRDLL;CUSTOMACTIONTEST_EXPORTS;%(PreprocessorDefinitions)
-
-
- Windows
- CustomAction.def
- msi.lib;dutil.lib;wcautil.lib;Version.lib;%(AdditionalDependencies)
- $(WIX)sdk\$(WixPlatformToolset)\lib\x86;%(AdditionalLibraryDirectories)
-
-
-
-
- MachineX86
-
-
-
-
- Disabled
- _DEBUG;%(PreprocessorDefinitions)
- true
- EnableFastChecks
- MultiThreadedDebug
- EditAndContinue
-
-
- true
-
-
-
-
- MaxSpeed
- true
- NDEBUG;%(PreprocessorDefinitions)
- MultiThreaded
- true
- ProgramDatabase
-
-
- true
- true
- true
-
-
-
-
-
- Create
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/windows/src/main/wix/WindowsVersionCustomAction/stdafx.cpp b/windows/src/main/wix/WindowsVersionCustomAction/stdafx.cpp
deleted file mode 100644
index 9a5cc24eaa5..00000000000
--- a/windows/src/main/wix/WindowsVersionCustomAction/stdafx.cpp
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "stdafx.h"
-
-// TODO: reference any additional headers you need in STDAFX.H
-// and not in this file
diff --git a/windows/src/main/wix/WindowsVersionCustomAction/stdafx.h b/windows/src/main/wix/WindowsVersionCustomAction/stdafx.h
deleted file mode 100644
index 2a8fcf239f2..00000000000
--- a/windows/src/main/wix/WindowsVersionCustomAction/stdafx.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#pragma once
-
-#include "targetver.h"
-
-#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
-// Windows Header Files:
-#include
-#include
-#include
-
-// WiX Header Files:
-#include
-
-
-// TODO: reference additional headers your program requires here
diff --git a/windows/src/main/wix/WindowsVersionCustomAction/targetver.h b/windows/src/main/wix/WindowsVersionCustomAction/targetver.h
deleted file mode 100644
index c3a06de6f83..00000000000
--- a/windows/src/main/wix/WindowsVersionCustomAction/targetver.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#pragma once
-
-#ifndef WINVER // Specifies that the minimum required platform is Windows XP.
-#define WINVER 0x0501 // Change this to the appropriate value to target other versions of Windows.
-#endif
-
-#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows XP.
-#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
-#endif
-
-#ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 6.0 SP3.
-#define _WIN32_IE 0x0603 // Change this to the appropriate value to target other versions of IE.
-#endif
-
-#ifndef _WIN32_MSI // Specifies that the minimum required MSI version is MSI 3.1
-#define _WIN32_MSI 310 // Change this to the appropriate value to target other versions of MSI.
-#endif