This is an automated email from the ASF dual-hosted git repository. lordgamez pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit 95ca031d6869d354575889602319fae8571ab42e Author: Ferenc Gerlits <[email protected]> AuthorDate: Mon Aug 25 16:48:06 2025 +0200 MINIFICPP-2362 Improve handling of script extensions in Windows MSI * Only remove the minifi_native.pyd symlink when MiNiFi is uninstalled. Previously, the symlink got removed when the installation was changed; so e.g., if you installed MiNiFi without python, the symlink got created, but when you changed the installation to add python, the symlink got removed. * Hide the script extension in the installer. This means that minifi-script-extension.dll will always be installed, to avoid a situation where the user selects the python extension but not the script extension, which will cause an error. Signed-off-by: Gabor Gyimesi <[email protected]> This closes #2012 --- CMakeLists.txt | 8 +++++--- extensions/python/PYTHON.md | 3 +-- msi/WixWin.wsi.in | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 70de14896..9c9c28e94 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -715,11 +715,13 @@ foreach(extension ${selected_extensions}) get_component_name(${extension} component-name) list(APPEND CPACK_COMPONENTS_ALL ${component-name}) if(${extension} IN_LIST EXTENSIONS_ENABLED_BY_DEFAULT) - set(maybe_disabled "") + set(attribute "") + elseif(${extension} STREQUAL "minifi-script-extension") + set(attribute HIDDEN) else() - set(maybe_disabled DISABLED) + set(attribute DISABLED) endif() - cpack_add_component(${component-name} DISPLAY_NAME ${extension} ${maybe_disabled} GROUP extensions DEPENDS bin) + cpack_add_component(${component-name} DISPLAY_NAME ${extension} ${attribute} GROUP extensions DEPENDS bin) endforeach() if ("python_script_extension" IN_LIST CPACK_COMPONENTS_ALL) if (WIN32) diff --git a/extensions/python/PYTHON.md b/extensions/python/PYTHON.md index d3885e707..7152c23b0 100644 --- a/extensions/python/PYTHON.md +++ b/extensions/python/PYTHON.md @@ -135,8 +135,7 @@ On Linux, you need the "libminifi-python-lib-loader-extension.so", "libminifi-py "libminifi-script-extension.so" libraries to be present in the extensions directory, and "minifi_native.so" must be a symbolic link to "libminifi-python-script-extension.so". You can build these libraries by setting the `ENABLE_PYTHON_SCRIPTING` CMake build option to `ON`. -On Windows, when installing MiNiFi using the MSI installer, make sure to enable both "minifi-python-script-extension" -and "minifi-script-extension" during the installation process. +On Windows, when installing MiNiFi using the MSI installer, enable the "minifi-python-script-extension" feature, which is disabled by default. ## Configuration diff --git a/msi/WixWin.wsi.in b/msi/WixWin.wsi.in index 60ade400d..e294b547d 100644 --- a/msi/WixWin.wsi.in +++ b/msi/WixWin.wsi.in @@ -287,7 +287,7 @@ ${WIX_EXTRA_FEATURES} </InstallExecuteSequence> <InstallExecuteSequence> - <Custom Action="RemoveSymbolicLink" After="InstallInitialize">Installed AND NOT REINSTALL</Custom> + <Custom Action="RemoveSymbolicLink" After="ProcessComponents">REMOVE="ALL"</Custom> </InstallExecuteSequence> </Product>
