MINIFICPP-1375 Windows: Redistribute Universal CRT DLLs with our MSI

Signed-off-by: Arpad Boda <aboda@apache.org>

This closes #910
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1bb844f..13b682c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -401,6 +401,7 @@
 if (WIN32)
 	option(ENABLE_WEL "Enables the suite of Windows Event Log extensions." OFF)
 	if (ENABLE_ALL OR ENABLE_WEL)
+
 		include(BundledPugiXml)
 		use_bundled_pugixml(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR})
 		createExtension(WEL-EXTENSION "WEL EXTENSIONS" "Enables the suite of Windows Event Log extensions." "extensions/windows-event-log" "extensions/windows-event-log/tests")
@@ -635,7 +636,13 @@
 		list(GET VCRUNTIME_REDIST_VERSIONS 0 VCRUNTIME_REDIST_DIR)
 	endif()
 
-    if (INSTALLER_MERGE_MODULES)
+	set(UCRT_DIR_NAT "$ENV{WindowsSdkDir}Redist\\ucrt\\DLLs\\$ENV{Platform}")
+	file(TO_CMAKE_PATH "${UCRT_DIR_NAT}" UCRT_DIR)
+	message("Using UCRT from ${UCRT_DIR}")
+	file(GLOB UCRT_DLLS "${UCRT_DIR}/*.dll")
+	file(COPY ${UCRT_DLLS} DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/redist")
+
+	if (INSTALLER_MERGE_MODULES)
         message("Creating installer with merge modules")
         file(GLOB VCRUNTIME_X86_MERGEMODULES "${VCRUNTIME_REDIST_DIR}/MergeModules/Microsoft_VC*_CRT_x86.msm")
         file(GLOB VCRUNTIME_X64_MERGEMODULES "${VCRUNTIME_REDIST_DIR}/MergeModules/Microsoft_VC*_CRT_x64.msm")
diff --git a/msi/WixWin.wsi b/msi/WixWin.wsi
index d8edf1e..1738194 100644
--- a/msi/WixWin.wsi
+++ b/msi/WixWin.wsi
@@ -324,7 +324,49 @@
                 <File Id="MiNiFiExe_msvcp140_2" Name="msvcp140_2.dll" KeyPath="no" Source="redist\msvcp140_2.dll"/>
                 <File Id="MiNiFiExe_vccorlib140" Name="vccorlib140.dll" KeyPath="no" Source="redist\vccorlib140.dll"/>
                 <File Id="MiNiFiExe_vcruntime140" Name="vcruntime140.dll" KeyPath="no" Source="redist\vcruntime140.dll"/>
-                <!-- 
+                <File Id="MiNiFiExe_api_ms_win_core_console_l1_1_0.dll" Name="api-ms-win-core-console-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-console-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_console_l1_2_0.dll" Name="api-ms-win-core-console-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-console-l1-2-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_datetime_l1_1_0.dll" Name="api-ms-win-core-datetime-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-datetime-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_debug_l1_1_0.dll" Name="api-ms-win-core-debug-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-debug-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_errorhandling_l1_1_0.dll" Name="api-ms-win-core-errorhandling-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-errorhandling-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_file_l1_1_0.dll" Name="api-ms-win-core-file-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-file-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_file_l1_2_0.dll" Name="api-ms-win-core-file-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-file-l1-2-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_file_l2_1_0.dll" Name="api-ms-win-core-file-l2-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-file-l2-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_handle_l1_1_0.dll" Name="api-ms-win-core-handle-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-handle-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_heap_l1_1_0.dll" Name="api-ms-win-core-heap-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-heap-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_interlocked_l1_1_0.dll" Name="api-ms-win-core-interlocked-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-interlocked-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_libraryloader_l1_1_0.dll" Name="api-ms-win-core-libraryloader-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-libraryloader-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_localization_l1_2_0.dll" Name="api-ms-win-core-localization-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-localization-l1-2-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_memory_l1_1_0.dll" Name="api-ms-win-core-memory-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-memory-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_namedpipe_l1_1_0.dll" Name="api-ms-win-core-namedpipe-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-namedpipe-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_processenvironment_l1_1_0.dll" Name="api-ms-win-core-processenvironment-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-processenvironment-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_processthreads_l1_1_0.dll" Name="api-ms-win-core-processthreads-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-processthreads-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_processthreads_l1_1_1.dll" Name="api-ms-win-core-processthreads-l1-1-1.dll" KeyPath="no" Source="redist\api-ms-win-core-processthreads-l1-1-1.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_profile_l1_1_0.dll" Name="api-ms-win-core-profile-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-profile-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_rtlsupport_l1_1_0.dll" Name="api-ms-win-core-rtlsupport-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-rtlsupport-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_string_l1_1_0.dll" Name="api-ms-win-core-string-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-string-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_synch_l1_1_0.dll" Name="api-ms-win-core-synch-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-synch-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_synch_l1_2_0.dll" Name="api-ms-win-core-synch-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-synch-l1-2-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_sysinfo_l1_1_0.dll" Name="api-ms-win-core-sysinfo-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-sysinfo-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_timezone_l1_1_0.dll" Name="api-ms-win-core-timezone-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-timezone-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_util_l1_1_0.dll" Name="api-ms-win-core-util-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-util-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_conio_l1_1_0.dll" Name="api-ms-win-crt-conio-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-conio-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_convert_l1_1_0.dll" Name="api-ms-win-crt-convert-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-convert-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_environment_l1_1_0.dll" Name="api-ms-win-crt-environment-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-environment-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_filesystem_l1_1_0.dll" Name="api-ms-win-crt-filesystem-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-filesystem-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_heap_l1_1_0.dll" Name="api-ms-win-crt-heap-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-heap-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_locale_l1_1_0.dll" Name="api-ms-win-crt-locale-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-locale-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_math_l1_1_0.dll" Name="api-ms-win-crt-math-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-math-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_multibyte_l1_1_0.dll" Name="api-ms-win-crt-multibyte-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-multibyte-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_private_l1_1_0.dll" Name="api-ms-win-crt-private-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-private-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_process_l1_1_0.dll" Name="api-ms-win-crt-process-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-process-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_runtime_l1_1_0.dll" Name="api-ms-win-crt-runtime-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-runtime-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_stdio_l1_1_0.dll" Name="api-ms-win-crt-stdio-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-stdio-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_string_l1_1_0.dll" Name="api-ms-win-crt-string-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-string-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_time_l1_1_0.dll" Name="api-ms-win-crt-time-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-time-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_utility_l1_1_0.dll" Name="api-ms-win-crt-utility-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-utility-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_ucrtbase.dll" Name="ucrtbase.dll" KeyPath="no" Source="redist\ucrtbase.dll"/>
+                <!--
                 It is not possible to set 'ServiceConfig' for 2 'Component' (error LGHT0130 : The primary key 'Apache NiFi MiNiFi' is duplicated in table 'ServiceConfig').
                 Problem is described: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Installing-a-Service-with-Varying-Dependencies-td693097.html
                 For now 'ServiceConfig' is set only for 'LocalSystem'.
@@ -368,6 +410,48 @@
                 <File Id="MiNiFiExeWithPassword_msvcp140_2" Name="msvcp140_2.dll" KeyPath="no" Source="redist\msvcp140_2.dll"/>
                 <File Id="MiNiFiExeWithPassword_vccorlib140" Name="vccorlib140.dll" KeyPath="no" Source="redist\vccorlib140.dll"/>
                 <File Id="MiNiFiExeWithPassword_vcruntime140" Name="vcruntime140.dll" KeyPath="no" Source="redist\vcruntime140.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_console_l1_1_0.dll" Name="api-ms-win-core-console-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-console-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_console_l1_2_0.dll" Name="api-ms-win-core-console-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-console-l1-2-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_datetime_l1_1_0.dll" Name="api-ms-win-core-datetime-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-datetime-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_debug_l1_1_0.dll" Name="api-ms-win-core-debug-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-debug-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_errorhandling_l1_1_0.dll" Name="api-ms-win-core-errorhandling-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-errorhandling-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_file_l1_1_0.dll" Name="api-ms-win-core-file-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-file-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_file_l1_2_0.dll" Name="api-ms-win-core-file-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-file-l1-2-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_file_l2_1_0.dll" Name="api-ms-win-core-file-l2-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-file-l2-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_handle_l1_1_0.dll" Name="api-ms-win-core-handle-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-handle-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_heap_l1_1_0.dll" Name="api-ms-win-core-heap-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-heap-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_interlocked_l1_1_0.dll" Name="api-ms-win-core-interlocked-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-interlocked-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_libraryloader_l1_1_0.dll" Name="api-ms-win-core-libraryloader-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-libraryloader-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_localization_l1_2_0.dll" Name="api-ms-win-core-localization-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-localization-l1-2-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_memory_l1_1_0.dll" Name="api-ms-win-core-memory-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-memory-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_namedpipe_l1_1_0.dll" Name="api-ms-win-core-namedpipe-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-namedpipe-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_processenvironment_l1_1_0.dll" Name="api-ms-win-core-processenvironment-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-processenvironment-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_processthreads_l1_1_0.dll" Name="api-ms-win-core-processthreads-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-processthreads-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_processthreads_l1_1_1.dll" Name="api-ms-win-core-processthreads-l1-1-1.dll" KeyPath="no" Source="redist\api-ms-win-core-processthreads-l1-1-1.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_profile_l1_1_0.dll" Name="api-ms-win-core-profile-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-profile-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_rtlsupport_l1_1_0.dll" Name="api-ms-win-core-rtlsupport-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-rtlsupport-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_string_l1_1_0.dll" Name="api-ms-win-core-string-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-string-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_synch_l1_1_0.dll" Name="api-ms-win-core-synch-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-synch-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_synch_l1_2_0.dll" Name="api-ms-win-core-synch-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-synch-l1-2-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_sysinfo_l1_1_0.dll" Name="api-ms-win-core-sysinfo-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-sysinfo-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_timezone_l1_1_0.dll" Name="api-ms-win-core-timezone-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-timezone-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_util_l1_1_0.dll" Name="api-ms-win-core-util-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-util-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_conio_l1_1_0.dll" Name="api-ms-win-crt-conio-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-conio-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_convert_l1_1_0.dll" Name="api-ms-win-crt-convert-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-convert-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_environment_l1_1_0.dll" Name="api-ms-win-crt-environment-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-environment-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_filesystem_l1_1_0.dll" Name="api-ms-win-crt-filesystem-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-filesystem-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_heap_l1_1_0.dll" Name="api-ms-win-crt-heap-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-heap-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_locale_l1_1_0.dll" Name="api-ms-win-crt-locale-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-locale-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_math_l1_1_0.dll" Name="api-ms-win-crt-math-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-math-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_multibyte_l1_1_0.dll" Name="api-ms-win-crt-multibyte-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-multibyte-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_private_l1_1_0.dll" Name="api-ms-win-crt-private-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-private-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_process_l1_1_0.dll" Name="api-ms-win-crt-process-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-process-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_runtime_l1_1_0.dll" Name="api-ms-win-crt-runtime-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-runtime-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_stdio_l1_1_0.dll" Name="api-ms-win-crt-stdio-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-stdio-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_string_l1_1_0.dll" Name="api-ms-win-crt-string-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-string-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_time_l1_1_0.dll" Name="api-ms-win-crt-time-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-time-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_utility_l1_1_0.dll" Name="api-ms-win-crt-utility-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-utility-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_ucrtbase.dll" Name="ucrtbase.dll" KeyPath="no" Source="redist\ucrtbase.dll"/>
                 <ServiceInstall Id="MiNiFiExeServiceWithPassword"
                                 Type="ownProcess"
                                 Vital="yes"
diff --git a/msi/WixWinMergeModules.wsi b/msi/WixWinMergeModules.wsi
index 3543174..9af35c8 100644
--- a/msi/WixWinMergeModules.wsi
+++ b/msi/WixWinMergeModules.wsi
@@ -325,7 +325,49 @@
                          Name="minifi.exe"
                          KeyPath="yes"
                          Source="main\minifi.exe"/>
-                <!-- 
+                <File Id="MiNiFiExe_api_ms_win_core_console_l1_1_0.dll" Name="api-ms-win-core-console-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-console-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_console_l1_2_0.dll" Name="api-ms-win-core-console-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-console-l1-2-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_datetime_l1_1_0.dll" Name="api-ms-win-core-datetime-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-datetime-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_debug_l1_1_0.dll" Name="api-ms-win-core-debug-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-debug-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_errorhandling_l1_1_0.dll" Name="api-ms-win-core-errorhandling-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-errorhandling-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_file_l1_1_0.dll" Name="api-ms-win-core-file-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-file-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_file_l1_2_0.dll" Name="api-ms-win-core-file-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-file-l1-2-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_file_l2_1_0.dll" Name="api-ms-win-core-file-l2-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-file-l2-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_handle_l1_1_0.dll" Name="api-ms-win-core-handle-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-handle-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_heap_l1_1_0.dll" Name="api-ms-win-core-heap-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-heap-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_interlocked_l1_1_0.dll" Name="api-ms-win-core-interlocked-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-interlocked-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_libraryloader_l1_1_0.dll" Name="api-ms-win-core-libraryloader-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-libraryloader-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_localization_l1_2_0.dll" Name="api-ms-win-core-localization-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-localization-l1-2-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_memory_l1_1_0.dll" Name="api-ms-win-core-memory-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-memory-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_namedpipe_l1_1_0.dll" Name="api-ms-win-core-namedpipe-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-namedpipe-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_processenvironment_l1_1_0.dll" Name="api-ms-win-core-processenvironment-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-processenvironment-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_processthreads_l1_1_0.dll" Name="api-ms-win-core-processthreads-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-processthreads-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_processthreads_l1_1_1.dll" Name="api-ms-win-core-processthreads-l1-1-1.dll" KeyPath="no" Source="redist\api-ms-win-core-processthreads-l1-1-1.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_profile_l1_1_0.dll" Name="api-ms-win-core-profile-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-profile-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_rtlsupport_l1_1_0.dll" Name="api-ms-win-core-rtlsupport-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-rtlsupport-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_string_l1_1_0.dll" Name="api-ms-win-core-string-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-string-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_synch_l1_1_0.dll" Name="api-ms-win-core-synch-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-synch-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_synch_l1_2_0.dll" Name="api-ms-win-core-synch-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-synch-l1-2-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_sysinfo_l1_1_0.dll" Name="api-ms-win-core-sysinfo-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-sysinfo-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_timezone_l1_1_0.dll" Name="api-ms-win-core-timezone-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-timezone-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_core_util_l1_1_0.dll" Name="api-ms-win-core-util-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-util-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_conio_l1_1_0.dll" Name="api-ms-win-crt-conio-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-conio-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_convert_l1_1_0.dll" Name="api-ms-win-crt-convert-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-convert-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_environment_l1_1_0.dll" Name="api-ms-win-crt-environment-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-environment-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_filesystem_l1_1_0.dll" Name="api-ms-win-crt-filesystem-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-filesystem-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_heap_l1_1_0.dll" Name="api-ms-win-crt-heap-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-heap-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_locale_l1_1_0.dll" Name="api-ms-win-crt-locale-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-locale-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_math_l1_1_0.dll" Name="api-ms-win-crt-math-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-math-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_multibyte_l1_1_0.dll" Name="api-ms-win-crt-multibyte-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-multibyte-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_private_l1_1_0.dll" Name="api-ms-win-crt-private-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-private-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_process_l1_1_0.dll" Name="api-ms-win-crt-process-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-process-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_runtime_l1_1_0.dll" Name="api-ms-win-crt-runtime-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-runtime-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_stdio_l1_1_0.dll" Name="api-ms-win-crt-stdio-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-stdio-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_string_l1_1_0.dll" Name="api-ms-win-crt-string-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-string-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_time_l1_1_0.dll" Name="api-ms-win-crt-time-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-time-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_api_ms_win_crt_utility_l1_1_0.dll" Name="api-ms-win-crt-utility-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-utility-l1-1-0.dll"/>
+                <File Id="MiNiFiExe_ucrtbase.dll" Name="ucrtbase.dll" KeyPath="no" Source="redist\ucrtbase.dll"/>
+                <!--
                 It is not possible to set 'ServiceConfig' for 2 'Component' (error LGHT0130 : The primary key 'Apache NiFi MiNiFi' is duplicated in table 'ServiceConfig').
                 Problem is described: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Installing-a-Service-with-Varying-Dependencies-td693097.html
                 For now 'ServiceConfig' is set only for 'LocalSystem'.
@@ -366,6 +408,48 @@
                          Name="minifi.exe"
                          KeyPath="yes"
                          Source="main\minifi.exe"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_console_l1_1_0.dll" Name="api-ms-win-core-console-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-console-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_console_l1_2_0.dll" Name="api-ms-win-core-console-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-console-l1-2-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_datetime_l1_1_0.dll" Name="api-ms-win-core-datetime-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-datetime-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_debug_l1_1_0.dll" Name="api-ms-win-core-debug-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-debug-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_errorhandling_l1_1_0.dll" Name="api-ms-win-core-errorhandling-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-errorhandling-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_file_l1_1_0.dll" Name="api-ms-win-core-file-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-file-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_file_l1_2_0.dll" Name="api-ms-win-core-file-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-file-l1-2-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_file_l2_1_0.dll" Name="api-ms-win-core-file-l2-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-file-l2-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_handle_l1_1_0.dll" Name="api-ms-win-core-handle-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-handle-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_heap_l1_1_0.dll" Name="api-ms-win-core-heap-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-heap-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_interlocked_l1_1_0.dll" Name="api-ms-win-core-interlocked-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-interlocked-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_libraryloader_l1_1_0.dll" Name="api-ms-win-core-libraryloader-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-libraryloader-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_localization_l1_2_0.dll" Name="api-ms-win-core-localization-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-localization-l1-2-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_memory_l1_1_0.dll" Name="api-ms-win-core-memory-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-memory-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_namedpipe_l1_1_0.dll" Name="api-ms-win-core-namedpipe-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-namedpipe-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_processenvironment_l1_1_0.dll" Name="api-ms-win-core-processenvironment-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-processenvironment-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_processthreads_l1_1_0.dll" Name="api-ms-win-core-processthreads-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-processthreads-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_processthreads_l1_1_1.dll" Name="api-ms-win-core-processthreads-l1-1-1.dll" KeyPath="no" Source="redist\api-ms-win-core-processthreads-l1-1-1.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_profile_l1_1_0.dll" Name="api-ms-win-core-profile-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-profile-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_rtlsupport_l1_1_0.dll" Name="api-ms-win-core-rtlsupport-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-rtlsupport-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_string_l1_1_0.dll" Name="api-ms-win-core-string-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-string-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_synch_l1_1_0.dll" Name="api-ms-win-core-synch-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-synch-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_synch_l1_2_0.dll" Name="api-ms-win-core-synch-l1-2-0.dll" KeyPath="no" Source="redist\api-ms-win-core-synch-l1-2-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_sysinfo_l1_1_0.dll" Name="api-ms-win-core-sysinfo-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-sysinfo-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_timezone_l1_1_0.dll" Name="api-ms-win-core-timezone-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-timezone-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_core_util_l1_1_0.dll" Name="api-ms-win-core-util-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-core-util-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_conio_l1_1_0.dll" Name="api-ms-win-crt-conio-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-conio-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_convert_l1_1_0.dll" Name="api-ms-win-crt-convert-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-convert-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_environment_l1_1_0.dll" Name="api-ms-win-crt-environment-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-environment-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_filesystem_l1_1_0.dll" Name="api-ms-win-crt-filesystem-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-filesystem-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_heap_l1_1_0.dll" Name="api-ms-win-crt-heap-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-heap-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_locale_l1_1_0.dll" Name="api-ms-win-crt-locale-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-locale-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_math_l1_1_0.dll" Name="api-ms-win-crt-math-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-math-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_multibyte_l1_1_0.dll" Name="api-ms-win-crt-multibyte-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-multibyte-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_private_l1_1_0.dll" Name="api-ms-win-crt-private-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-private-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_process_l1_1_0.dll" Name="api-ms-win-crt-process-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-process-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_runtime_l1_1_0.dll" Name="api-ms-win-crt-runtime-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-runtime-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_stdio_l1_1_0.dll" Name="api-ms-win-crt-stdio-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-stdio-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_string_l1_1_0.dll" Name="api-ms-win-crt-string-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-string-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_time_l1_1_0.dll" Name="api-ms-win-crt-time-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-time-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_api_ms_win_crt_utility_l1_1_0.dll" Name="api-ms-win-crt-utility-l1-1-0.dll" KeyPath="no" Source="redist\api-ms-win-crt-utility-l1-1-0.dll"/>
+                <File Id="MiNiFiExeWithPassword_ucrtbase.dll" Name="ucrtbase.dll" KeyPath="no" Source="redist\ucrtbase.dll"/>
                 <ServiceInstall Id="MiNiFiExeServiceWithPassword"
                                 Type="ownProcess"
                                 Vital="yes"