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>2014-04-06 00:00:31 +0400
committerMikkel Krautz <mikkel@krautz.dk>2014-04-06 00:00:31 +0400
commit8aafb6cea504c30be51d01cbb6a6a2776b8b3a24 (patch)
tree7f28c002a7f16159ef9fca318790367b262e1b58 /installer
parent0e447428ba8380581297e3e619967a09dda036ed (diff)
installer: automatically embed VCRedist 12.0 DLLs when env var MumbleNoMergeModule is set.
This commit updates the old RedistDirVC10 files to point to their new version 12 copies, now that we build with MSVS2013. It also implements an easy way to opt-out of using merge modules for the VCRT redistributable DLLs. With this change, if the environment variable MumbleNoMergeModule is set, the installer build will automatically embed the VCRedist DLL files as regular files into the final .MSI. To avoid this behavior, one can set MumbleNoEmbedVCRedist=1. So, to build a Mumble installer with no VCRT merge modules *and* no embedded VCRT DLLs, one would set *both* MumbleNoMergeModules=1 MumbleNoEmbedVCRedist=1
Diffstat (limited to 'installer')
-rw-r--r--installer/Files.wxs13
-rw-r--r--installer/Product.wxs7
-rw-r--r--installer/Settings.wxi12
3 files changed, 24 insertions, 8 deletions
diff --git a/installer/Files.wxs b/installer/Files.wxs
index fb4ff9401..a772d71a5 100644
--- a/installer/Files.wxs
+++ b/installer/Files.wxs
@@ -109,12 +109,15 @@
</Component>
<?endif ?>
- <?ifdef RedistDirVC10 ?>
- <Component Id="msvcp100.dll">
- <File Source="$(var.RedistDirVC10)\msvcp100.dll" KeyPath="yes" />
+ <?ifdef RedistDirVC12 ?>
+ <Component Id="msvcp120.dll">
+ <File Source="$(var.RedistDirVC12)\msvcp120.dll" KeyPath="yes" />
</Component>
- <Component Id="msvcr100.dll">
- <File Source="$(var.RedistDirVC10)\msvcr100.dll" KeyPath="yes" />
+ <Component Id="msvcr120.dll">
+ <File Source="$(var.RedistDirVC12)\msvcr120.dll" KeyPath="yes" />
+ </Component>
+ <Component Id="vccorlib120.dll">
+ <File Source="$(var.RedistDirVC12)\vccorlib120.dll" KeyPath="yes" />
</Component>
<?endif ?>
</DirectoryRef>
diff --git a/installer/Product.wxs b/installer/Product.wxs
index 7c672e561..5fada5f8b 100644
--- a/installer/Product.wxs
+++ b/installer/Product.wxs
@@ -123,9 +123,10 @@
<ComponentRef Id="libmmd.dll"/>
<?endif ?>
- <?ifdef RedistDirVC10 ?>
- <ComponentRef Id="msvcp100.dll" />
- <ComponentRef Id="msvcr100.dll" />
+ <?ifdef RedistDirVC12 ?>
+ <ComponentRef Id="msvcp120.dll" />
+ <ComponentRef Id="msvcr120.dll" />
+ <ComponentRef Id="vccorlib120.dll" />
<?endif ?>
</ComponentGroup>
diff --git a/installer/Settings.wxi b/installer/Settings.wxi
index c3623157b..2d47f71f7 100644
--- a/installer/Settings.wxi
+++ b/installer/Settings.wxi
@@ -72,6 +72,18 @@
<?define MergeModuleDir = "$(env.MumbleMergeModuleDir)" ?>
<?endif ?>
+ <!-- If the MumbleNoMergeModule env var is set, prefer embedding the .DLLs directly into the installer. -->
+ <?ifdef env.MumbleNoMergeModule ?>
+ <!-- But, if the MumbleNoEmbedVCRedist env var is set, don't embed them anyway. -->
+ <?ifndef env.MumbleNoEmbedVCRedist ?>
+ <?ifndef env.MumbleRedistDirVC12 ?>
+ <?define RedistDirVC12 = "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x86\Microsoft.VC120.CRT" ?>
+ <?else ?>
+ <?define RedistDirVC12 = "$(env.MumbleRedistDirVC12)" ?>
+ <?endif ?>
+ <?endif ?>
+ <?endif ?>
+
<!-- Environment flags to disable features. Value doesn't matter -->
<?ifdef env.MumbleSSE ?>
<?define SSE = true ?>