diff --git a/VERSION.cmake b/VERSION.cmake index 1623810ab798a..e7ff4215f9e47 100644 --- a/VERSION.cmake +++ b/VERSION.cmake @@ -11,6 +11,8 @@ set(MIRALL_VERSION_PATCH 50) set(MIRALL_VERSION_YEAR 2025) set(MIRALL_SOVERSION 0) set(MIRALL_PREVERSION_HUMAN "3.17.0 alpha") # For preversions where PATCH>=50. Use version + alpha, rc1, rc2, etc. +set(NCEXT_BUILD_NUM 47) +set(NCEXT_VERSION 3,0,0,${NCEXT_BUILD_NUM}) # ------------------------------------ # Minimum supported server versions diff --git a/admin/win/msi/Nextcloud.wxs b/admin/win/msi/Nextcloud.wxs index b8ef1514ded05..22354a2bdee59 100644 --- a/admin/win/msi/Nextcloud.wxs +++ b/admin/win/msi/Nextcloud.wxs @@ -33,8 +33,9 @@ https://www.firegiant.com/wix/tutorial/upgrades-and-modularization/replacing-ourselves/ https://www.joyofsetup.com/2010/01/16/major-upgrades-now-easier-than-ever/ --> - - + + + @@ -77,9 +78,6 @@ (NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL") - - - (SCHEDULE_REBOOT=1) OR NOT (UILevel=2) diff --git a/shell_integration/windows/NCUtil/CMakeLists.txt b/shell_integration/windows/NCUtil/CMakeLists.txt index 234e1e775bc2e..75972307f6957 100644 --- a/shell_integration/windows/NCUtil/CMakeLists.txt +++ b/shell_integration/windows/NCUtil/CMakeLists.txt @@ -1,5 +1,7 @@ # SPDX-FileCopyrightText: 2018 ownCloud GmbH # SPDX-License-Identifier: LGPL-2.1-or-later +configure_file(Version.h.in ${CMAKE_CURRENT_BINARY_DIR}/Version.h) + add_library(NCUtil STATIC CommunicationSocket.cpp RemotePathChecker.cpp @@ -9,5 +11,6 @@ add_library(NCUtil STATIC target_include_directories(NCUtil PUBLIC - "${CMAKE_CURRENT_SOURCE_DIR}" + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} ) diff --git a/shell_integration/windows/NCUtil/Version.h b/shell_integration/windows/NCUtil/Version.h.in similarity index 81% rename from shell_integration/windows/NCUtil/Version.h rename to shell_integration/windows/NCUtil/Version.h.in index 92f6600cc2bd7..30ce150ce4e11 100644 --- a/shell_integration/windows/NCUtil/Version.h +++ b/shell_integration/windows/NCUtil/Version.h.in @@ -5,10 +5,10 @@ // This is the number that will end up in the version window of the DLLs. // Increment this version before committing a new build if you are today's shell_integration build master. -#define NCEXT_BUILD_NUM 47 +#cmakedefine NCEXT_BUILD_NUM @NCEXT_BUILD_NUM@ #define STRINGIZE2(s) #s #define STRINGIZE(s) STRINGIZE2(s) -#define NCEXT_VERSION 3,0,0,NCEXT_BUILD_NUM +#cmakedefine NCEXT_VERSION @NCEXT_VERSION@ #define NCEXT_VERSION_STRING STRINGIZE(NCEXT_VERSION) diff --git a/src/libsync/vfs/cfapi/shellext/CMakeLists.txt b/src/libsync/vfs/cfapi/shellext/CMakeLists.txt index 8d391c7c74fcf..b4c9d404e62d6 100644 --- a/src/libsync/vfs/cfapi/shellext/CMakeLists.txt +++ b/src/libsync/vfs/cfapi/shellext/CMakeLists.txt @@ -155,6 +155,8 @@ set(cppWinRtExe "${WindowsSDKBinPathForTools}\\cppwinrt.exe") message("cppWinRtExe: ${cppWinRtExe}") message("midlExe: ${midlExe}") +configure_file(CfApiShellIntegrationVersion.h.in ${CMAKE_CURRENT_BINARY_DIR}/CfApiShellIntegrationVersion.h) + # use midl.exe and cppwinrt.exe to generate files for CustomStateProvider (WinRT class) add_custom_command(OUTPUT ${MidlOutputPathHeader} COMMAND ${midlExe} /winrt /h nul /tlb ${MidlOutputPathTlb} /winmd ${MidlOutputPathWinmd} /metadata_dir "${WindowsSDKReferencesPath}\\Windows.Foundation.FoundationContract\\${WindowsFoundationContractVersion}" /nomidl /reference "${WindowsSDKReferencesPath}\\Windows.Foundation.FoundationContract\\${WindowsFoundationContractVersion}\\Windows.Foundation.FoundationContract.winmd" /reference "${WindowsSDKReferencesPath}\\Windows.Storage.Provider.CloudFilesContract\\${WindowsStorageProviderCloudFilesContractVersion}\\Windows.Storage.Provider.CloudFilesContract.winmd" /I ${MidleFileFolder} customstateprovider.idl @@ -172,6 +174,7 @@ add_library(CfApiShellExtensions MODULE ${CMAKE_SOURCE_DIR}/src/common/shellextensionutils.cpp customstateprovider.cpp CfApiShellIntegration.def + CfApiShellIntegration.rc ) message("CUSTOM_STATE_ICON_LOCKED_OUT: ${CUSTOM_STATE_ICON_LOCKED_OUT}") diff --git a/src/libsync/vfs/cfapi/shellext/CfApiShellIntegration.rc b/src/libsync/vfs/cfapi/shellext/CfApiShellIntegration.rc new file mode 100644 index 0000000000000..b6a3777370a08 --- /dev/null +++ b/src/libsync/vfs/cfapi/shellext/CfApiShellIntegration.rc @@ -0,0 +1,64 @@ +/* + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: GPL-2.0-or-later + */ +// Microsoft Visual C++ generated resource script. +// +#include "CfApiShellIntegrationVersion.h" + +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "windows.h" + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION NCEXT_VERSION + PRODUCTVERSION NCEXT_VERSION + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "Nextcloud GmbH" + VALUE "FileDescription", "Nextcloud CfApi shell extension" + VALUE "FileVersion", NCEXT_VERSION_STRING + VALUE "InternalName", "NCOverlays" + VALUE "LegalCopyright", "Copyright (C) 2023 Nextcloud GmbH" + VALUE "ProductName", "Nextcloud shell extension" + VALUE "ProductVersion", NCEXT_VERSION_STRING + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/src/libsync/vfs/cfapi/shellext/CfApiShellIntegrationVersion.h.in b/src/libsync/vfs/cfapi/shellext/CfApiShellIntegrationVersion.h.in new file mode 100644 index 0000000000000..30ce150ce4e11 --- /dev/null +++ b/src/libsync/vfs/cfapi/shellext/CfApiShellIntegrationVersion.h.in @@ -0,0 +1,14 @@ +#pragma once + +// SPDX-FileCopyrightText: 2016 ownCloud GmbH +// SPDX-License-Identifier: LGPL-2.1-or-later + +// This is the number that will end up in the version window of the DLLs. +// Increment this version before committing a new build if you are today's shell_integration build master. +#cmakedefine NCEXT_BUILD_NUM @NCEXT_BUILD_NUM@ + +#define STRINGIZE2(s) #s +#define STRINGIZE(s) STRINGIZE2(s) + +#cmakedefine NCEXT_VERSION @NCEXT_VERSION@ +#define NCEXT_VERSION_STRING STRINGIZE(NCEXT_VERSION)