Statically link the CRT for Release builds

VS 2015 has made distributing the dynamic CRT awful; the installer is
larger than Aegisub itself and app-local deployment requires an absurd
number of DLLs.
This commit is contained in:
Thomas Goyne 2016-02-02 16:39:10 -08:00
parent d1e5a2674b
commit 8f019a6e45
5 changed files with 1 additions and 72 deletions

View File

@ -132,12 +132,6 @@
</RarContents>
<RarContents Include="$(AegisubSourceBase)bin\devil.dll" Condition="'$(AegisubUseAvisynth)' == 'true'" />
<RarContents Include="$(AegisubSourceBase)packages\win_installer\portable\config.json" />
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC140.CRT\msvcp140.dll" />
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC140.CRT\concrt140.dll" />
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC140.CRT\vccorlib140.dll" />
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC140.CRT\vcruntime140.dll" />
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC140.MFC\mfc140u.dll" />
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC140.MFC\mfcm140u.dll" />
<RarContents Include="$(AegisubSourceBase)bin\dictionaries\en_US.aff">
<OutputPath>dictionaries\</OutputPath>
</RarContents>

View File

@ -13,9 +13,6 @@
<Filter Include="CSRI">
<UniqueIdentifier>{61b13b0c-d018-48c6-8629-b44b83aa0dc8}</UniqueIdentifier>
</Filter>
<Filter Include="Runtime">
<UniqueIdentifier>{0461dadd-a953-4fee-8240-bf3eb1d3a240}</UniqueIdentifier>
</Filter>
<Filter Include="Automation\Tests">
<UniqueIdentifier>{8880eb0c-4bf7-424d-9a79-73c20c2dd169}</UniqueIdentifier>
</Filter>
@ -102,18 +99,6 @@
</RarContents>
<RarContents Include="$(AegisubSourceBase)bin\aegisub$(AegisubPlatformSuffix).exe" />
<RarContents Include="$(AegisubSourceBase)packages\win_installer\portable\config.json" />
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC110.MFC\mfc110u.dll">
<Filter>Runtime</Filter>
</RarContents>
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC110.MFC\mfcm110u.dll">
<Filter>Runtime</Filter>
</RarContents>
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC110.CRT\msvcp110.dll">
<Filter>Runtime</Filter>
</RarContents>
<RarContents Include="$(VCInstallDir)redist\$(PlatformName)\Microsoft.VC110.CRT\msvcr110.dll">
<Filter>Runtime</Filter>
</RarContents>
<RarContents Include="$(AegisubSourceBase)bin\csri\xy-vsfilter-aegisub$(PlatformArchitecture).dll">
<Filter>CSRI</Filter>
</RarContents>

View File

@ -55,7 +55,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>

View File

@ -50,7 +50,6 @@ ArchitecturesAllowed=x64
#include "fragment_mainprogram.iss"
#include "fragment_associations.iss"
#include "fragment_runtimes.iss"
#ifdef ARCH64
#include "fragment_codecs_64.iss"
#else

View File

@ -1,49 +0,0 @@
; Copyright (c) 2007-2009, Niels Martin Hansen
;
; Redistribution and use in source and binary forms, with or without
; modification, are permitted provided that the following conditions are met:
;
; * Redistributions of source code must retain the above copyright notice,
; this list of conditions and the following disclaimer.
; * Redistributions in binary form must reproduce the above copyright notice,
; this list of conditions and the following disclaimer in the documentation
; and/or other materials provided with the distribution.
; * Neither the name of the Aegisub Group nor the names of its contributors
; may be used to endorse or promote products derived from this software
; without specific prior written permission.
;
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
; ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
; POSSIBILITY OF SUCH DAMAGE.
;
; -----------------------------------------------------------------------------
;
; AEGISUB
;
; Website: http://www.aegisub.org/
; Contact: mailto:nielsm@indvikleren.dk
;
; This file implements checking for and installing runtime libraries for Aegisub
#ifdef ARCH64
#define SUFFIX "x64"
#else
#define SUFFIX "x86"
#endif
[Files]
Source: src\redist\{#SUFFIX}\Microsoft.VC140.CRT\msvcp140.dll; DestDir: {app}; Flags: ignoreversion
Source: src\redist\{#SUFFIX}\Microsoft.VC140.CRT\concrt140.dll; DestDir: {app}; Flags: ignoreversion
Source: src\redist\{#SUFFIX}\Microsoft.VC140.CRT\vccorlib140.dll; DestDir: {app}; Flags: ignoreversion
Source: src\redist\{#SUFFIX}\Microsoft.VC140.CRT\vcruntime140.dll; DestDir: {app}; Flags: ignoreversion
Source: src\redist\{#SUFFIX}\Microsoft.VC140.MFC\mfc140u.dll; DestDir: {app}; Flags: ignoreversion
Source: src\redist\{#SUFFIX}\Microsoft.VC140.MFC\mfcm140u.dll; DestDir: {app}; Flags: ignoreversion