diff --git a/CMake/CTestCustom.cmake.in b/CMake/CTestCustom.cmake.in
index a2416c69f341f60e37c060ce71168ad0adfa2051..9d7cc2ae3132af7fa087f2aac7b5e98b52a3d1f2 100644
--- a/CMake/CTestCustom.cmake.in
+++ b/CMake/CTestCustom.cmake.in
@@ -62,8 +62,9 @@ set(CTEST_CUSTOM_COVERAGE_EXCLUDE
  ".*/Utilities/.*"
 
  # Exclude SWIG wrappers files
- ".*/Modules/Wrappers/SWIG/src/otbApplicationPYTHON_wrap.*"
- ".*/Modules/Wrappers/SWIG/src/otbApplicationJAVA_wrap.*"
+ ".*/Modules/Wrappers/SWIG/src/python/otbApplicationPYTHON_wrap.*"
+ ".*/Modules/Wrappers/SWIG/src/python3/otbApplicationPYTHON_wrap.*"
+ ".*/Modules/Wrappers/SWIG/src/java/otbApplicationJAVA_wrap.*"
 
  # Exclude Qt moc file
  ".*moc_.*"
diff --git a/Modules/Wrappers/ApplicationEngine/src/otbWrapperApplicationRegistry.cxx b/Modules/Wrappers/ApplicationEngine/src/otbWrapperApplicationRegistry.cxx
index bb4e574baedc722ba0e98265159172423f4a8714..f022af0ddbe47d8d7c59415363fff57800151c4f 100644
--- a/Modules/Wrappers/ApplicationEngine/src/otbWrapperApplicationRegistry.cxx
+++ b/Modules/Wrappers/ApplicationEngine/src/otbWrapperApplicationRegistry.cxx
@@ -375,7 +375,31 @@ ApplicationRegistry::LoadApplicationFromPath(std::string path,std::string name)
 
   if (itksys::SystemTools::FileExists(path.c_str(),true))
     {
-    itk::LibHandle lib = itk::DynamicLoader::OpenLibrary(path.c_str());
+#if defined(_WIN32) && !defined(__CYGWIN__)
+    int cp = CP_UTF8;
+    int acp = GetACP();
+    if (acp != CP_UTF8)
+      {
+      bool hasNonAscii=false;
+      for (auto c: path)
+        {
+        if (0 > (int) c)
+          {
+          hasNonAscii = true;
+          break;
+          }
+        }
+      if (hasNonAscii) cp = acp;
+      }
+    int length = MultiByteToWideChar(cp, 0, path.c_str(), -1, NULL, 0);
+    wchar_t* wpath = new wchar_t[length+1];
+    wpath[0] = '\0';
+    MultiByteToWideChar(cp, 0, path.c_str(), -1, wpath, length);
+    itk::LibHandle lib = LoadLibraryW(wpath);
+    delete [] wpath;
+#else
+    itk::LibHandle lib = itksys::DynamicLoader::OpenLibrary(path);
+#endif
     if (lib)
       {
       /**
@@ -412,6 +436,10 @@ ApplicationRegistry::LoadApplicationFromPath(std::string path,std::string name)
         }
       itk::DynamicLoader::CloseLibrary(lib);
       }
+    else
+      {
+      otbMsgDevMacro( << "Can't load library : " << path << std::endl );
+      }
     }
   return appli;
 }
diff --git a/Packaging/Files/uninstall_otb.bat b/Packaging/Files/uninstall_otb.bat
index 257d2ec730d60a5c20ae5aac8297f33a74096239..3389fd15452785a39f3c88c28a14db8cc70ade30 100644
--- a/Packaging/Files/uninstall_otb.bat
+++ b/Packaging/Files/uninstall_otb.bat
@@ -1,41 +1,53 @@
-:: 
-:: Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES)
-::
-:: This file is part of Orfeo Toolbox
-:: 
-::    https://www.orfeo-toolbox.org/
-::
-:: Licensed under the Apache License, Version 2.0 (the "License");
-:: you may not use this file except in compliance with the License.
-:: You may obtain a copy of the License at
-::
-::    http://www.apache.org/licenses/LICENSE-2.0
-::
-:: Unless required by applicable law or agreed to in writing, software
-:: distributed under the License is distributed on an "AS IS" BASIS,
-:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-:: See the License for the specific language governing permissions and
-:: limitations under the License.
-
-:: script to uninstall OTB
-
-setlocal
-set CUR_DIR=%~dp0
-cd %CUR_DIR%..
-set MY_INSTALL_DIR=%cd%
-del /S /Q %MY_INSTALL_DIR%\include\OTB* || exit 1
-del /S /Q %MY_INSTALL_DIR%\lib\cmake\OTB* || exit 1
-del /S /Q %MY_INSTALL_DIR%\lib\otb* || exit 1
-del /S /Q %MY_INSTALL_DIR%\lib\python\*otbApplication.* || exit 1
-del /S /Q %MY_INSTALL_DIR%\lib\python3\*otbApplication.* || exit 1
-del /S /Q %MY_INSTALL_DIR%\lib\java\org.otb.application.jar || exit 1
-del /S /Q %MY_INSTALL_DIR%\bin\otb* || exit 1
-del /S /Q %MY_INSTALL_DIR%\bin\monteverdi.exe || exit 1
-del /S /Q %MY_INSTALL_DIR%\bin\mapla.exe || exit 1
-del /S /Q %MY_INSTALL_DIR%\mapla.bat || exit 1
-del /S /Q %MY_INSTALL_DIR%\monteverdi.bat || exit 1
-del /S /Q %MY_INSTALL_DIR%\share\OTB* || exit 1
-del /S /Q "%MY_INSTALL_DIR%\OTB Project.zip" || exit 1
-endlocal
-
-
+@echo off
+:: 
+:: Copyright (C) 2005-2017 Centre National d'Etudes Spatiales (CNES)
+::
+:: This file is part of Orfeo Toolbox
+:: 
+::    https://www.orfeo-toolbox.org/
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+::    http://www.apache.org/licenses/LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+
+:: script to uninstall OTB
+
+setlocal
+cd %~dp0%..
+
+echo - Clean include\OTB*
+for /f %%i in ('dir /b include\OTB*') do rd /S /Q include\%%i
+
+echo - Clean lib\cmake\OTB*
+for /f %%i in ('dir /b lib\cmake\OTB*') do rd /S /Q lib\cmake\%%i
+
+echo - Clean share\OTB*
+for /f %%i in ('dir /b share\OTB*') do rd /S /Q share\%%i
+
+echo - Clean lib\otb
+rd /S /Q lib\otb
+
+del /S /Q lib\otb*
+del /S /Q lib\python\*otbApplication.* || exit 1
+del /S /Q lib\python3\*otbApplication.* || exit 1
+del /S /Q lib\java\org.otb.application.jar || exit 1
+del /S /Q bin\otb* || exit 1
+del /S /Q bin\monteverdi.exe || exit 1
+del /S /Q bin\mapla.exe || exit 1
+del /S /Q mapla.bat || exit 1
+del /S /Q monteverdi.bat || exit 1
+del /S /Q otbenv.* || exit 1
+del /S /Q start_devenv.bat || exit 1
+del /S /Q "OTB Project.zip" || exit 1
+
+echo OTB is now uninstalled from %cd%
+
+endlocal
diff --git a/Packaging/Files/uninstall_otb.sh b/Packaging/Files/uninstall_otb.sh
index 94ee967a48c3a0f98fad3ce8bb9ba9f57a0c13a5..1b5030c58adc09ee1e21c653941fc263397bddd4 100755
--- a/Packaging/Files/uninstall_otb.sh
+++ b/Packaging/Files/uninstall_otb.sh
@@ -22,8 +22,10 @@ set -e
 rm -fr OUT_DIR/include/OTB-*
 rm -f OUT_DIR/lib/{libotb*,libOTB*}
 rm -fr OUT_DIR/lib/{otb,python/*otbApplication*,python3/*otbApplication*,java/org.otb.application.jar}
+rm -fr OUT_DIR/lib/cmake/OTB-*
 rm -fr OUT_DIR/share/OTB*
 rm -fv OUT_DIR/bin/{otb*,monteverdi,mapla}
 rm -fv OUT_DIR/{mapla.sh,monteverdi.sh}
+rm -fv OUT_DIR/otbenv.*
 
 echo "OTB is now uninstalled from OUT_DIR"