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>
 

Reply via email to