diff --git a/platforms/scripts/cmake_winrt.cmd b/platforms/scripts/cmake_winrt.cmd
index aafed7d09d..c6d8cb8e03 100644
--- a/platforms/scripts/cmake_winrt.cmd
+++ b/platforms/scripts/cmake_winrt.cmd
@@ -3,4 +3,4 @@ cd build
rem call "C:\Program Files\Microsoft Visual Studio 11.0\VC\bin\x86_arm\vcvarsx86_arm.bat"
-cmake.exe -GNinja -DCMAKE_BUILD_TYPE=Release -DWITH_FFMPEG=OFF -DBUILD_opencv_gpu=OFF -DBUILD_opencv_python=OFF -DCMAKE_TOOLCHAIN_FILE=..\..\winrt\arm.winrt.toolchain.cmake ..\..\..
+cmake.exe -GNinja -DWITH_TBB=ON -DBUILD_TBB=ON -DCMAKE_BUILD_TYPE=Release -DWITH_FFMPEG=OFF -DBUILD_opencv_gpu=OFF -DBUILD_opencv_python=OFF -DCMAKE_TOOLCHAIN_FILE=..\..\winrt\arm.winrt.toolchain.cmake ..\..\..
diff --git a/platforms/winrt/arm.winrt.toolchain.cmake b/platforms/winrt/arm.winrt.toolchain.cmake
index b34056cd5e..ac9af117df 100644
--- a/platforms/winrt/arm.winrt.toolchain.cmake
+++ b/platforms/winrt/arm.winrt.toolchain.cmake
@@ -3,4 +3,15 @@ set(CMAKE_SYSTEM_PROCESSOR "arm-v7a")
set(CMAKE_FIND_ROOT_PATH "${CMAKE_SOURCE_DIR}/platforms/winrt")
set(CMAKE_REQUIRED_DEFINITIONS -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE)
-add_definitions(-D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE)
\ No newline at end of file
+add_definitions(-D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE)
+
+set(CMAKE_CXX_FLAGS "" CACHE STRING "c++ flags")
+set(CMAKE_C_FLAGS "" CACHE STRING "c flags")
+
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ZW -EHsc -GS")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -GS")
+
+
+set(CMAKE_SHARED_LINKER_FLAGS "/r:System.Runtime.WindowsRuntime.dll /r:System.Threading.Tasks.dll" CACHE STRING "shared linker flags")
+set(CMAKE_MODULE_LINKER_FLAGS "/r:System.Runtime.WindowsRuntime.dll /r:System.Threading.Tasks.dll" CACHE STRING "module linker flags")
+set(CMAKE_EXE_LINKER_FLAGS "/r:System.Runtime.WindowsRuntime.dll /r:System.Threading.Tasks.dll" CACHE STRING "executable linker flags")
\ No newline at end of file
diff --git a/samples/winrt/ImageManipulations/C++/AudioCapture.xaml b/samples/winrt/ImageManipulations/C++/AudioCapture.xaml
deleted file mode 100644
index be65bcd8c1..0000000000
--- a/samples/winrt/ImageManipulations/C++/AudioCapture.xaml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- This scenario shows how to do an audio only capture using the default microphone. Click on StartRecord to start recording.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/samples/winrt/ImageManipulations/C++/AudioCapture.xaml.cpp b/samples/winrt/ImageManipulations/C++/AudioCapture.xaml.cpp
deleted file mode 100644
index 37fc379d38..0000000000
--- a/samples/winrt/ImageManipulations/C++/AudioCapture.xaml.cpp
+++ /dev/null
@@ -1,366 +0,0 @@
-//*********************************************************
-//
-// Copyright (c) Microsoft. All rights reserved.
-// THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF
-// ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY
-// IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR
-// PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.
-//
-//*********************************************************
-
-//
-// AudioCapture.xaml.cpp
-// Implementation of the AudioCapture class
-//
-
-#include "pch.h"
-#include "AudioCapture.xaml.h"
-#include
-using namespace concurrency;
-
-using namespace SDKSample::MediaCapture;
-
-using namespace Windows::UI::Xaml;
-using namespace Windows::UI::Xaml::Navigation;
-using namespace Windows::UI::Xaml::Data;
-using namespace Windows::System;
-using namespace Windows::Foundation;
-using namespace Platform;
-using namespace Windows::UI;
-using namespace Windows::UI::Core;
-using namespace Windows::UI::Xaml;
-using namespace Windows::UI::Xaml::Controls;
-using namespace Windows::UI::Xaml::Data;
-using namespace Windows::UI::Xaml::Media;
-using namespace Windows::Storage;
-using namespace Windows::Media::MediaProperties;
-using namespace Windows::Storage::Streams;
-using namespace Windows::System;
-using namespace Windows::UI::Xaml::Media::Imaging;
-
-
-AudioCapture::AudioCapture()
-{
- InitializeComponent();
- ScenarioInit();
-}
-
-///
-/// Invoked when this page is about to be displayed in a Frame.
-///
-/// Event data that describes how this page was reached. The Parameter
-/// property is typically used to configure the page.
-void AudioCapture::OnNavigatedTo(NavigationEventArgs^ e)
-{
- // A pointer back to the main page. This is needed if you want to call methods in MainPage such
- // as NotifyUser()
- rootPage = MainPage::Current;
- m_eventRegistrationToken = Windows::Media::MediaControl::SoundLevelChanged += ref new EventHandler