diff --git a/CMakeLists.txt b/CMakeLists.txt
index ff61df5df..47a9f0703 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -277,6 +277,7 @@ elseif (WIN32)
   set(HIDAPI_FOUND ON CACHE INTERNAL "")
   set(HIDAPI_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/hidapi/include" CACHE INTERNAL "")
   set(HIDAPI_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/hidapi/x64/hidapi.lib" CACHE INTERNAL "")
+  set(HIDAPI_DLL_DIR "${EXTERNAL_LIBRARY_FOLDER}/hidapi/x64" CACHE INTERNAL "")
 
   # used on fixup_bundle phase
   set(WINDOWS_FIXUP_BUNDLE_LIB_DIRS
diff --git a/cmake/cpack/CMakeLists.txt b/cmake/cpack/CMakeLists.txt
index 1dced7c79..3b69a7889 100644
--- a/cmake/cpack/CMakeLists.txt
+++ b/cmake/cpack/CMakeLists.txt
@@ -176,6 +176,14 @@ elseif(WIN32 OR MINGW)
     )
   endforeach(codec2_dll)
 
+  file(GLOB HIDAPI_DLLS "${HIDAPI_DLL_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}")
+  foreach(hidapi_dll ${HIDAPI_DLLS})
+    get_filename_component(hidapi_dll_name "${hidapi_dll}"  NAME)
+    add_custom_target(copy_hidapi_${hidapi_dll_name} ALL
+      COMMAND ${CMAKE_COMMAND} -E copy_if_different "${hidapi_dll}" "${SDRANGEL_BINARY_BIN_DIR}/"
+    )
+  endforeach(hidapi_dll)
+
   if(ENABLE_USRP AND UHD_FOUND)
     file(GLOB UHD_DLLS "${UHD_DLL_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}")
     foreach(uhd_dll ${UHD_DLLS})
@@ -248,6 +256,9 @@ elseif(WIN32 OR MINGW)
     # codec2
     install(DIRECTORY "${CODEC2_DLL_DIR}/" DESTINATION "${INSTALL_LIB_DIR}"
       FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}")
+    # hidapi
+    install(DIRECTORY "${HIDAPI_DLL_DIR}/" DESTINATION "${INSTALL_LIB_DIR}"
+      FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}")
     # uhd
     install(DIRECTORY "${UHD_DLL_DIR}/" DESTINATION "${INSTALL_LIB_DIR}"
       FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}")