Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions VERSION.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ set(MIRALL_VERSION_PATCH 4)
set(MIRALL_VERSION_YEAR 2025)
set(MIRALL_SOVERSION 0)
set(MIRALL_PREVERSION_HUMAN "3.16.4") # 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
Expand Down
8 changes: 3 additions & 5 deletions admin/win/msi/Nextcloud.wxs
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,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/
-->
<MajorUpgrade Schedule="afterInstallInitialize" AllowDowngrades="yes" />
<Property Id="REINSTALLMODE" Value="amus" />
<MajorUpgrade Schedule="afterInstallExecute" AllowDowngrades="yes" />
<Property Id="REINSTALLMODE" Value="dmus" />
<Property Id="MSIRMSHUTDOWN" Value="1" />

<Media Id="1" Cabinet="$(var.AppShortName).cab" EmbedCab="yes" />

Expand Down Expand Up @@ -88,9 +89,6 @@

<!-- Uninstall: Cleanup the Registry -->
<Custom Action="RegistryCleanupCustomAction" After="RemoveFiles">(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>

<!-- Schedule Reboot for the Shell Extensions (in silent installation mode only, or if SCHEDULE_REBOOT argument is set-->
<ScheduleReboot After="InstallFinalize">(SCHEDULE_REBOOT=1) OR NOT (UILevel=2)</ScheduleReboot>
</InstallExecuteSequence>

<!-- "Add or Remove" Programs Entries -->
Expand Down
3 changes: 2 additions & 1 deletion shell_integration/windows/NCUtil/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@ add_library(NCUtil STATIC

target_include_directories(NCUtil
PUBLIC
"${CMAKE_CURRENT_SOURCE_DIR}"
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,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)
3 changes: 3 additions & 0 deletions src/libsync/vfs/cfapi/shellext/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,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
Expand All @@ -170,6 +172,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}")
Expand Down
64 changes: 64 additions & 0 deletions src/libsync/vfs/cfapi/shellext/CfApiShellIntegration.rc
Original file line number Diff line number Diff line change
@@ -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

14 changes: 14 additions & 0 deletions src/libsync/vfs/cfapi/shellext/CfApiShellIntegrationVersion.h.in
Original file line number Diff line number Diff line change
@@ -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)