diff options
-rw-r--r-- | installer/Files.wxs | 7 | ||||
-rw-r--r-- | installer/MumbleUCRTComponentRefs.wxi | 48 | ||||
-rw-r--r-- | installer/MumbleUCRTComponents.wxi | 130 | ||||
-rw-r--r-- | installer/MurmurUCRTComponentRefs.wxi | 48 | ||||
-rw-r--r-- | installer/MurmurUCRTComponents.wxi | 130 | ||||
-rw-r--r-- | installer/Product.wxs | 7 | ||||
-rw-r--r-- | installer/Settings.wxi | 12 | ||||
-rw-r--r-- | installer/gen-ucrt.py | 74 |
8 files changed, 456 insertions, 0 deletions
diff --git a/installer/Files.wxs b/installer/Files.wxs index 52a7c5c35..b60ffa82d 100644 --- a/installer/Files.wxs +++ b/installer/Files.wxs @@ -75,6 +75,10 @@ </Component> <?endif ?> + <?ifdef RedistDirUCRT ?> + <?include "MumbleUCRTComponents.wxi" ?> + <?endif ?> + <Component Id="dbghelp.dll"> <File Source="$(var.DebugToolsDir)\dbghelp.dll" KeyPath="yes" /> </Component> @@ -143,6 +147,9 @@ <File Id="Murmur_vcruntime140.dll" Source="$(var.RedistDirVC14)\vcruntime140.dll" KeyPath="yes" /> </Component> <?endif ?> + <?ifdef RedistDirUCRT ?> + <?include "MurmurUCRTComponents.wxi" ?> + <?endif ?> <Component Id="Murmur_dbghelp.dll"> <File Id="Murmur_dbghelp.dll" Source="$(var.DebugToolsDir)\dbghelp.dll" KeyPath="yes" /> </Component> diff --git a/installer/MumbleUCRTComponentRefs.wxi b/installer/MumbleUCRTComponentRefs.wxi new file mode 100644 index 000000000..70dcbcb12 --- /dev/null +++ b/installer/MumbleUCRTComponentRefs.wxi @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Include>
+
+<!-- This file is auto-generated via gen-ucrt.py. Please don't touch by hand -->
+
+<ComponentRef Id="api_ms_win_core_console_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_datetime_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_debug_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_errorhandling_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_file_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_file_l1_2_0.dll" />
+<ComponentRef Id="api_ms_win_core_file_l2_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_handle_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_heap_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_interlocked_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_libraryloader_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_localization_l1_2_0.dll" />
+<ComponentRef Id="api_ms_win_core_memory_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_namedpipe_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_processenvironment_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_processthreads_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_processthreads_l1_1_1.dll" />
+<ComponentRef Id="api_ms_win_core_profile_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_rtlsupport_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_string_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_synch_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_synch_l1_2_0.dll" />
+<ComponentRef Id="api_ms_win_core_sysinfo_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_timezone_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_core_util_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_conio_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_convert_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_environment_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_filesystem_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_heap_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_locale_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_math_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_multibyte_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_private_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_process_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_runtime_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_stdio_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_string_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_time_l1_1_0.dll" />
+<ComponentRef Id="api_ms_win_crt_utility_l1_1_0.dll" />
+<ComponentRef Id="ucrtbase.dll" />
+
+</Include>
diff --git a/installer/MumbleUCRTComponents.wxi b/installer/MumbleUCRTComponents.wxi new file mode 100644 index 000000000..083f88ae2 --- /dev/null +++ b/installer/MumbleUCRTComponents.wxi @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Include>
+
+<!-- This file is auto-generated via gen-ucrt.py. Please don't touch by hand -->
+
+<Component Id="api_ms_win_core_console_l1_1_0.dll">
+ <File Id="api_ms_win_core_console_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-console-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_datetime_l1_1_0.dll">
+ <File Id="api_ms_win_core_datetime_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-datetime-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_debug_l1_1_0.dll">
+ <File Id="api_ms_win_core_debug_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-debug-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_errorhandling_l1_1_0.dll">
+ <File Id="api_ms_win_core_errorhandling_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-errorhandling-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_file_l1_1_0.dll">
+ <File Id="api_ms_win_core_file_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-file-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_file_l1_2_0.dll">
+ <File Id="api_ms_win_core_file_l1_2_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-file-l1-2-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_file_l2_1_0.dll">
+ <File Id="api_ms_win_core_file_l2_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-file-l2-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_handle_l1_1_0.dll">
+ <File Id="api_ms_win_core_handle_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-handle-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_heap_l1_1_0.dll">
+ <File Id="api_ms_win_core_heap_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-heap-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_interlocked_l1_1_0.dll">
+ <File Id="api_ms_win_core_interlocked_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-interlocked-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_libraryloader_l1_1_0.dll">
+ <File Id="api_ms_win_core_libraryloader_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-libraryloader-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_localization_l1_2_0.dll">
+ <File Id="api_ms_win_core_localization_l1_2_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-localization-l1-2-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_memory_l1_1_0.dll">
+ <File Id="api_ms_win_core_memory_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-memory-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_namedpipe_l1_1_0.dll">
+ <File Id="api_ms_win_core_namedpipe_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-namedpipe-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_processenvironment_l1_1_0.dll">
+ <File Id="api_ms_win_core_processenvironment_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-processenvironment-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_processthreads_l1_1_0.dll">
+ <File Id="api_ms_win_core_processthreads_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-processthreads-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_processthreads_l1_1_1.dll">
+ <File Id="api_ms_win_core_processthreads_l1_1_1.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-processthreads-l1-1-1.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_profile_l1_1_0.dll">
+ <File Id="api_ms_win_core_profile_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-profile-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_rtlsupport_l1_1_0.dll">
+ <File Id="api_ms_win_core_rtlsupport_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-rtlsupport-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_string_l1_1_0.dll">
+ <File Id="api_ms_win_core_string_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-string-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_synch_l1_1_0.dll">
+ <File Id="api_ms_win_core_synch_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-synch-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_synch_l1_2_0.dll">
+ <File Id="api_ms_win_core_synch_l1_2_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-synch-l1-2-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_sysinfo_l1_1_0.dll">
+ <File Id="api_ms_win_core_sysinfo_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-sysinfo-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_timezone_l1_1_0.dll">
+ <File Id="api_ms_win_core_timezone_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-timezone-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_core_util_l1_1_0.dll">
+ <File Id="api_ms_win_core_util_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-util-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_conio_l1_1_0.dll">
+ <File Id="api_ms_win_crt_conio_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-conio-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_convert_l1_1_0.dll">
+ <File Id="api_ms_win_crt_convert_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-convert-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_environment_l1_1_0.dll">
+ <File Id="api_ms_win_crt_environment_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-environment-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_filesystem_l1_1_0.dll">
+ <File Id="api_ms_win_crt_filesystem_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-filesystem-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_heap_l1_1_0.dll">
+ <File Id="api_ms_win_crt_heap_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-heap-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_locale_l1_1_0.dll">
+ <File Id="api_ms_win_crt_locale_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-locale-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_math_l1_1_0.dll">
+ <File Id="api_ms_win_crt_math_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-math-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_multibyte_l1_1_0.dll">
+ <File Id="api_ms_win_crt_multibyte_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-multibyte-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_private_l1_1_0.dll">
+ <File Id="api_ms_win_crt_private_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-private-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_process_l1_1_0.dll">
+ <File Id="api_ms_win_crt_process_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-process-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_runtime_l1_1_0.dll">
+ <File Id="api_ms_win_crt_runtime_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-runtime-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_stdio_l1_1_0.dll">
+ <File Id="api_ms_win_crt_stdio_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-stdio-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_string_l1_1_0.dll">
+ <File Id="api_ms_win_crt_string_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-string-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_time_l1_1_0.dll">
+ <File Id="api_ms_win_crt_time_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-time-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="api_ms_win_crt_utility_l1_1_0.dll">
+ <File Id="api_ms_win_crt_utility_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-utility-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="ucrtbase.dll">
+ <File Id="ucrtbase.dll" Source="$(var.RedistDirUCRT)\ucrtbase.dll" KeyPath="yes" />
+</Component>
+
+</Include>
diff --git a/installer/MurmurUCRTComponentRefs.wxi b/installer/MurmurUCRTComponentRefs.wxi new file mode 100644 index 000000000..cf5280e73 --- /dev/null +++ b/installer/MurmurUCRTComponentRefs.wxi @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Include>
+
+<!-- This file is auto-generated via gen-ucrt.py. Please don't touch by hand -->
+
+<ComponentRef Id="Murmur_api_ms_win_core_console_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_datetime_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_debug_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_errorhandling_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_file_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_file_l1_2_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_file_l2_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_handle_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_heap_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_interlocked_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_libraryloader_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_localization_l1_2_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_memory_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_namedpipe_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_processenvironment_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_processthreads_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_processthreads_l1_1_1.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_profile_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_rtlsupport_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_string_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_synch_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_synch_l1_2_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_sysinfo_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_timezone_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_core_util_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_conio_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_convert_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_environment_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_filesystem_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_heap_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_locale_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_math_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_multibyte_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_private_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_process_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_runtime_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_stdio_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_string_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_time_l1_1_0.dll" />
+<ComponentRef Id="Murmur_api_ms_win_crt_utility_l1_1_0.dll" />
+<ComponentRef Id="Murmur_ucrtbase.dll" />
+
+</Include>
diff --git a/installer/MurmurUCRTComponents.wxi b/installer/MurmurUCRTComponents.wxi new file mode 100644 index 000000000..775c83f00 --- /dev/null +++ b/installer/MurmurUCRTComponents.wxi @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="utf-8"?>
+<Include>
+
+<!-- This file is auto-generated via gen-ucrt.py. Please don't touch by hand -->
+
+<Component Id="Murmur_api_ms_win_core_console_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_console_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-console-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_datetime_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_datetime_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-datetime-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_debug_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_debug_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-debug-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_errorhandling_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_errorhandling_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-errorhandling-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_file_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_file_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-file-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_file_l1_2_0.dll">
+ <File Id="Murmur_api_ms_win_core_file_l1_2_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-file-l1-2-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_file_l2_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_file_l2_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-file-l2-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_handle_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_handle_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-handle-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_heap_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_heap_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-heap-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_interlocked_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_interlocked_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-interlocked-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_libraryloader_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_libraryloader_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-libraryloader-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_localization_l1_2_0.dll">
+ <File Id="Murmur_api_ms_win_core_localization_l1_2_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-localization-l1-2-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_memory_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_memory_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-memory-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_namedpipe_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_namedpipe_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-namedpipe-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_processenvironment_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_processenvironment_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-processenvironment-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_processthreads_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_processthreads_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-processthreads-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_processthreads_l1_1_1.dll">
+ <File Id="Murmur_api_ms_win_core_processthreads_l1_1_1.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-processthreads-l1-1-1.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_profile_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_profile_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-profile-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_rtlsupport_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_rtlsupport_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-rtlsupport-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_string_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_string_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-string-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_synch_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_synch_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-synch-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_synch_l1_2_0.dll">
+ <File Id="Murmur_api_ms_win_core_synch_l1_2_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-synch-l1-2-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_sysinfo_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_sysinfo_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-sysinfo-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_timezone_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_timezone_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-timezone-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_core_util_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_core_util_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-core-util-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_conio_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_conio_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-conio-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_convert_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_convert_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-convert-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_environment_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_environment_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-environment-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_filesystem_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_filesystem_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-filesystem-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_heap_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_heap_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-heap-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_locale_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_locale_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-locale-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_math_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_math_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-math-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_multibyte_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_multibyte_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-multibyte-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_private_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_private_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-private-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_process_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_process_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-process-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_runtime_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_runtime_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-runtime-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_stdio_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_stdio_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-stdio-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_string_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_string_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-string-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_time_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_time_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-time-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_api_ms_win_crt_utility_l1_1_0.dll">
+ <File Id="Murmur_api_ms_win_crt_utility_l1_1_0.dll" Source="$(var.RedistDirUCRT)\api-ms-win-crt-utility-l1-1-0.dll" KeyPath="yes" />
+</Component>
+<Component Id="Murmur_ucrtbase.dll">
+ <File Id="Murmur_ucrtbase.dll" Source="$(var.RedistDirUCRT)\ucrtbase.dll" KeyPath="yes" />
+</Component>
+
+</Include>
diff --git a/installer/Product.wxs b/installer/Product.wxs index d166a2199..e591be454 100644 --- a/installer/Product.wxs +++ b/installer/Product.wxs @@ -137,6 +137,10 @@ <ComponentRef Id="vcruntime140.dll" /> <?endif ?> + <?ifdef RedistDirUCRT ?> + <?include "MumbleUCRTComponentRefs.wxi" ?> + <?endif ?> + <ComponentRef Id="dbghelp.dll" /> <Feature Id="MumbleDesktopShortcutFeature" Title="!(loc.MUMBLE_SEC_DesktopShortcut)" Description="!(loc.DESC_DesktopShortcut)" InstallDefault="followParent" AllowAdvertise="no"> @@ -154,6 +158,9 @@ <ComponentRef Id="Murmur_msvcp140.dll" /> <ComponentRef Id="Murmur_vcruntime140.dll" /> <?endif ?> + <?ifdef RedistDirUCRT ?> + <?include "MurmurUCRTComponentRefs.wxi" ?> + <?endif ?> <ComponentRef Id="Murmur_dbghelp.dll" /> <?endif ?> diff --git a/installer/Settings.wxi b/installer/Settings.wxi index 2347ef269..7533866b0 100644 --- a/installer/Settings.wxi +++ b/installer/Settings.wxi @@ -92,6 +92,7 @@ <!-- Don't embed VCRedist files if MumbleNoEmbedVCRedist env var is set. --> <?ifndef env.MumbleNoEmbedVCRedist ?> + <!-- VC CRT --> <?ifndef env.MumbleRedistDirVC14 ?> <?if $(sys.BUILDARCH) = "x86" ?> <?define RedistDirVC14 = "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist\x86\Microsoft.VC140.CRT" ?> @@ -101,6 +102,17 @@ <?else ?> <?define RedistDirVC14 = "$(env.MumbleRedistDirVC14)" ?> <?endif ?> + + <!-- Universal CRT --> + <?ifndef env.MumbleRedistDirUCRT ?> + <?if $(sys.BUILDARCH) = "x86" ?> + <?define RedistDirUCRT = "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x86" ?> + <?elseif $(sys.BUILDARCH) = "x64" ?> + <?define RedistDirUCRT = "C:\Program Files (x86)\Windows Kits\10\Redist\ucrt\DLLs\x64" ?> + <?endif ?> + <?else ?> + <?define RedistDirUCRT = "$(env.MumbleRedistDirUCRT)" ?> + <?endif ?> <?endif ?> <?define Win81SDKDir = "C:\Program Files (x86)\Windows Kits\8.1" ?> diff --git a/installer/gen-ucrt.py b/installer/gen-ucrt.py new file mode 100644 index 000000000..5494e630d --- /dev/null +++ b/installer/gen-ucrt.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +# Copyright 2005-2017 The Mumble Developers. All rights reserved. +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file at the root of the +# Mumble source tree or at <https://www.mumble.info/LICENSE>. + +from __future__ import (unicode_literals, print_function, division) + +import os +import codecs + +def mangleComponentId(fn): + # Component IDs in WiX can't contain dashes. Mangle them with _ instead. + return fn.replace('-', '_') + +def fileHeader(f): + f.write('<?xml version="1.0" encoding="utf-8"?>\r\n') + f.write('<Include>\r\n') + f.write('\r\n') + f.write('<!-- This file is auto-generated via gen-ucrt.py. Please don\'t touch by hand -->\r\n') + f.write('\r\n') + +def fileFooter(f): + f.write('\r\n') + f.write('</Include>\r\n') + +def gencomponents(f, files, prefix=''): + for fn in files: + f.write('<Component Id="{0}">\r\n'.format(mangleComponentId(prefix+fn))) + f.write(' <File Id="{0}" Source="$(var.RedistDirUCRT)\{1}" KeyPath="yes" />\r\n'.format(mangleComponentId(prefix+fn), fn)) + f.write('</Component>\r\n') + +def gencomponentrefs(f, files, prefix=''): + for fn in files: + f.write('''<ComponentRef Id="{0}" />\r\n'''.format(mangleComponentId(prefix+fn))) + +def main(): + ucrtx64 = 'C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\\DLLs\\x64' + ucrtx86 = 'C:\\Program Files (x86)\\Windows Kits\\10\\Redist\\ucrt\\DLLs\\x86' + + filesx86 = os.listdir(ucrtx86) + filesx64 = os.listdir(ucrtx64) + + # Perform a quick sanity test to ensure that both x86 and x64 UCRT variants + # use the same filenames. + if set(filesx86) != set(filesx64): + raise Exception('Fatal error: x86 UCRT files are not equivalent to x64 UCRT files') + + # ...Since they're the same, let's just use the + # filenames from x86. + files = filesx86 + + with codecs.open('MumbleUCRTComponents.wxi', 'wb', 'utf-8') as f: + fileHeader(f) + gencomponents(f, files) + fileFooter(f) + + with codecs.open('MurmurUCRTComponents.wxi', 'wb', 'utf-8') as f: + fileHeader(f) + gencomponents(f, files, 'Murmur_') + fileFooter(f) + + with codecs.open('MumbleUCRTComponentRefs.wxi', 'wb', 'utf-8') as f: + fileHeader(f) + gencomponentrefs(f, files) + fileFooter(f) + + with codecs.open('MurmurUCRTComponentRefs.wxi', 'wb', 'utf-8') as f: + fileHeader(f) + gencomponentrefs(f, files, 'Murmur_') + fileFooter(f) + +if __name__ == '__main__': + main() |