Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikkel Krautz <mikkel@krautz.dk>2017-02-05 21:20:34 +0300
committerMikkel Krautz <mikkel@krautz.dk>2017-02-05 21:20:34 +0300
commitc895dad88962dc88691520c977151f1d16e7522e (patch)
treef23819f5d4aac50cf530a73cf3636e9285d1132d /installer/MumbleUCRTComponentRefs.wxi
parentcef2324812294a13f28d4f644bd85b0aef5f37d1 (diff)
installer: ship app-local copies of UCRT DLLs.
MSVC2015 uses a new CRT called the Universal CRT. This CRT is distributed in different ways, depending on your OS. For Windows XP, the official distribution is a VCRedist installer. (Or, for Windows XP only -- merge modules). For Vista through 8.1, UCRT is distributed via Windows Update. For Windows 10, it's shipped as part of Windows. This commit amends our installer to install an app-local copy of the Universal CRT. This is the sanest way for us to distribute the Universal CRT across all supported targets. Even if we could drop Windows XP support, the fact that earlier Windows versions deploy the Universal CRT through Windows Update makes it a hard pill to swallow. People's hacked up machines might not be able to get the update from Windows Update for whatever reason. (Maybe they disabled the Windows Update service for performance reasons, because a guide on the web told them to?) So, for now, this is what we'll do. Perhaps it makes more sense to statically link the UCRT instead of this massive soup of DLLs. But this is a quick fix to keep our snapshots going until we can work out the details for statically linking UCRT. Note: Because Murmur is outside the versioned root-dir, we ship a separate CRT copy for Murmur. Now that we have to ship the UCRT as well, that's suddenly a lot more files we'll have to carry. That's also an unfortunate side-effect of the UCRT. But if you look at it from the perspective that shipping the VCRUNTIME+UCRT on MSVC2015 "the same thing" as shipping MSVCRT on MSVC2013, we're not really doing anything much different. Except, we're being "punished" by the fact that Microsoft decided to split up the CRT into tiny pieces. Future work: Ideally, we wouldn't include these .wxi files in the repo, and instead depend on gen-ucrt.py being run before building the installer. However, that would require buildenv changes, and require us to redeploy buildenvs, which takes time. To get the UCRT fix out into a snapshot, let's add them to the repo for now, and we can clean it up later.
Diffstat (limited to 'installer/MumbleUCRTComponentRefs.wxi')
-rw-r--r--installer/MumbleUCRTComponentRefs.wxi48
1 files changed, 48 insertions, 0 deletions
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>