diff --git a/SuperBuild/Packaging/PMacros.cmake b/SuperBuild/Packaging/PMacros.cmake
index 0b9d2085fcc0c5bbbff817fdd9a7c5797cca56a6..783cd8dfae458719987a332d7e6a3e29ffeb5a5d 100644
--- a/SuperBuild/Packaging/PMacros.cmake
+++ b/SuperBuild/Packaging/PMacros.cmake
@@ -60,13 +60,13 @@ macro(macro_create_targets_for_package pkg)
   else() #Unxies Using SuperBuild
     if(ENABLE_MONTEVERDI)
       add_custom_target(PACKAGE-${pkg}-check
-        COMMAND ${CMAKE_COMMAND} --build "." --target install
-        WORKING_DIRECTORY "${SUPERBUILD_BINARY_DIR}/MVD/build"
+        COMMAND ${CMAKE_COMMAND} -E echo "Building PACKAGE-${pkg}-check"
+	DEPENDS MVD
         )
-    else()
+      else(ENABLE_MONTEVERDI)
       add_custom_target(PACKAGE-${pkg}-check
-        COMMAND ${CMAKE_COMMAND} --build "."  --target install
-        WORKING_DIRECTORY "${SUPERBUILD_BINARY_DIR}/OTB/build"
+        COMMAND ${CMAKE_COMMAND} -E echo "Building PACKAGE-${pkg}-check"
+	DEPENDS OTB
         )
     endif(ENABLE_MONTEVERDI)
   endif()
@@ -90,6 +90,8 @@ macro(macro_create_targets_for_package pkg)
 
   #configure
   add_custom_target(PACKAGE-${pkg}-configure
+  COMMAND ${CMAKE_COMMAND} -E make_directory "${PACKAGE_PROJECT_DIR}/build"
+   WORKING_DIRECTORY "${PACKAGE_PROJECT_DIR}"
     COMMAND ${CMAKE_COMMAND} "-G${CMAKE_GENERATOR}"
     "${PACKAGE_PROJECT_DIR}/src"
     WORKING_DIRECTORY "${PACKAGE_PROJECT_DIR}/build"
@@ -108,8 +110,8 @@ macro(macro_create_targets_for_package pkg)
   # creation of package is different from windows and unix like
   if(WIN32)
     add_custom_target(PACKAGE-${pkg}
-      COMMAND ${ZIP_EXECUTABLE}
-      "-rq" "${CMAKE_BINARY_DIR}/${archive_name}.zip" "${archive_name}"
+      COMMAND ${ZIP_EXECUTABLE} "a"
+      "-ry" "${CMAKE_BINARY_DIR}/${archive_name}.zip" "${archive_name}/*"
       WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}"
       DEPENDS PACKAGE-${pkg}-build
       COMMENT "Creating ${CMAKE_BINARY_DIR}/${archive_name}.zip"