diff --git a/common/cpp/include/system_wrappers/io.h b/common/cpp/include/system_wrappers/io.h
index 41e626caaecef0b6316266cf1c5fd759399be7d1..76fe9f1c7180f55686f104d76e10b401a8a95fef 100644
--- a/common/cpp/include/system_wrappers/io.h
+++ b/common/cpp/include/system_wrappers/io.h
@@ -33,7 +33,8 @@ enum class IOErrorType {
     kInvalidMemoryAddress,
     kUnableToResolveHostname,
     kSocketOperationUnknownAtLevel,
-    kSocketOperationValueOutOfBound
+    kSocketOperationValueOutOfBound,
+    kAddressNotValid
 
 };
 
@@ -138,6 +139,9 @@ auto const kSocketOperationValueOutOfBound =  IOErrorTemplate {
     "kSocketOperationValueOutOfBound", IOErrorType::kSocketOperationValueOutOfBound
 };
 
+auto const kAddressNotValid =  IOErrorTemplate {
+    "Address not valid", IOErrorType::kAddressNotValid
+};
 
 }
 
diff --git a/common/cpp/src/system_io/system_io_windows.cpp b/common/cpp/src/system_io/system_io_windows.cpp
index 796a3b1832b566276e1201f68a0e5ae19c47a785..19f9e377e784d205dc7d07ee7532f03c59408a8d 100644
--- a/common/cpp/src/system_io/system_io_windows.cpp
+++ b/common/cpp/src/system_io/system_io_windows.cpp
@@ -36,6 +36,8 @@ Error IOErrorFromGetLastError() {
         return IOErrorTemplates::kSocketOperationOnNonSocket.Generate();
     case WSAEWOULDBLOCK:
         return IOErrorTemplates::kResourceTemporarilyUnavailable.Generate();
+    case WSAEADDRNOTAVAIL:
+        return IOErrorTemplates::kAddressNotValid.Generate();
     case WSAECONNREFUSED:
         return IOErrorTemplates::kConnectionRefused.Generate();
     case ERROR_FILE_EXISTS:
diff --git a/examples/producer/dummy-data-producer/CMakeLists.txt b/examples/producer/dummy-data-producer/CMakeLists.txt
index ea232e37c4c1eed06594b11f7ffc1f4d00c30a5b..27851c5910a02919caf96222df6df338548eab74 100644
--- a/examples/producer/dummy-data-producer/CMakeLists.txt
+++ b/examples/producer/dummy-data-producer/CMakeLists.txt
@@ -27,5 +27,8 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/CMakeLists_separate.txt DESTINATION "$
 configure_file(Makefile.in Makefile_LINUX @ONLY)
 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Makefile_LINUX DESTINATION "${dir}")
 
-
+IF(WIN32)
+add_script_test("${TARGET_NAME}" "${CMAKE_CURRENT_BINARY_DIR}/Debug/${TARGET_NAME}")
+ELSE()
 add_script_test("${TARGET_NAME}" "${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}")
+ENDIF()
diff --git a/examples/producer/dummy-data-producer/check_linux.sh b/examples/producer/dummy-data-producer/check_linux.sh
index 5acad0ac0d2ad51b89d9d9842e3fdced43fc0692..04f592decbf9d22d1301157df898e0f9c2b764fa 100644
--- a/examples/producer/dummy-data-producer/check_linux.sh
+++ b/examples/producer/dummy-data-producer/check_linux.sh
@@ -4,5 +4,7 @@ database_name=test_run
 
 #set -e
 
+
+#just test that it starts, no reciever is running
 $@ 0.0.0.0 1 1 2>&1 | grep "refused"
 
diff --git a/examples/producer/dummy-data-producer/check_windows.bat b/examples/producer/dummy-data-producer/check_windows.bat
index 516af11ba34bc44ca36275cf29442c5c7acbb26c..95652e449db3fa550ce10cac2b8040f74a4b54e0 100644
--- a/examples/producer/dummy-data-producer/check_windows.bat
+++ b/examples/producer/dummy-data-producer/check_windows.bat
@@ -1,4 +1,4 @@
-"%1" 0.0.0.0 1 1 2>&1 | findstr "refused" || goto :error
+"%1" 0.0.0.0 1 1 2>&1 | findstr "not valid" || goto :error
 goto :clean
 
 :error