mirror of https://github.com/odrling/Aegisub
Further updates to installer, should be finished for r1564 alpha release
Originally committed to SVN as r1567.
This commit is contained in:
parent
774bd37839
commit
39849e2dc6
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
Dummy library created for the Aegisub 2 installer.
|
||||
Exports a single function only for the purpose of testing
|
||||
whether the DLL can load on the system, ie. whether
|
||||
the required runtime libraries are installed.
|
||||
|
||||
There are no restrictions on the use of this library
|
||||
for any purposes whatsoever, and likewise are
|
||||
no warranties given for it whatsoever.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
extern "C" __declspec(dllexport) void __stdcall TestFunction()
|
||||
{
|
||||
void *x = malloc(16);
|
||||
free(x);
|
||||
}
|
|
@ -0,0 +1,197 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="8.00"
|
||||
Name="RuntimeTestLibrary"
|
||||
ProjectGUID="{651A7DE5-417C-4C94-BD19-C733CCAC7ED0}"
|
||||
RootNamespace="RuntimeTestLibrary"
|
||||
Keyword="Win32Proj"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;RUNTIMETESTLIBRARY_EXPORTS"
|
||||
MinimalRebuild="true"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="3"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="4"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="2"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
ConfigurationType="2"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="1"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;RUNTIMETESTLIBRARY_EXPORTS"
|
||||
RuntimeLibrary="2"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="true"
|
||||
DebugInformationFormat="3"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
LinkIncremental="1"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\RuntimeTestLibrary.cpp"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
|
@ -32,7 +32,7 @@ DisableProgramGroupPage=true
|
|||
UsePreviousGroup=false
|
||||
AlwaysShowComponentsList=true
|
||||
AppVersion=2.00 Release Candidate 1
|
||||
AppID={{24BC8B57-716C-444F-B46B-A3349B9164C5}}
|
||||
AppID={{24BC8B57-716C-444F-B46B-A3349B9164C5}
|
||||
UninstallDisplayIcon={app}\Aegisub.exe
|
||||
|
||||
[Languages]
|
||||
|
@ -40,24 +40,25 @@ Name: english; MessagesFile: compiler:Default.isl
|
|||
|
||||
[Files]
|
||||
; redist
|
||||
;DestDir: {tmp}; Source: redist\vcredist_x86.exe; Flags: dontcopy nocompression; Components: main/runtime
|
||||
Source: RuntimeTestLibrary\RuntimeTestLibrary.dll; Flags: dontcopy
|
||||
Source: redist\vcredist_x86.exe; Flags: dontcopy nocompression; Components: main/runtime
|
||||
; main
|
||||
DestDir: {app}; Source: install\Aegisub.exe; Flags: ignoreversion nocompression; Components: main
|
||||
DestDir: {app}; Source: install\Aegisub.exe; Flags: ignoreversion; Components: main
|
||||
DestDir: {app}; Source: install\Aegisub.pdb; Flags: ignoreversion; Components: main/pdb
|
||||
DestDir: {app}; Source: install\changelog.txt; Flags: ignoreversion; Tasks: ; Components: main
|
||||
DestDir: {app}; Source: install\license.txt; Flags: ignoreversion; Tasks: ; Languages: ; Components: main
|
||||
DestDir: {app}; Source: install\aegisub-auto3.dll; Flags: ignoreversion; Components: main
|
||||
; avisynth
|
||||
DestDir: {app}; Source: redist\avisynth\devil.dll; Flags: ignoreversion; Components: codec/avisynth
|
||||
DestDir: {app}; Source: redist\avisynth\avisynth.dll; Flags: ignoreversion; Components: codec/avisynth
|
||||
DestDir: {app}; Source: redist\avisynth\DirectShowSource.dll; Flags: ignoreversion; Components: codec/avisynth
|
||||
DestDir: {app}; Source: redist\avisynth\devil.dll; Flags: ignoreversion; Components: codec
|
||||
DestDir: {app}; Source: redist\avisynth\avisynth.dll; Flags: ignoreversion; Components: codec
|
||||
DestDir: {app}; Source: redist\avisynth\DirectShowSource.dll; Flags: ignoreversion; Components: codec
|
||||
; ffmpegsource
|
||||
DestDir: {app}; Source: install\FFMpegSource.dll; Flags: ignoreversion; Components: codec/ffmpegsource
|
||||
DestDir: {app}; Source: install\avcodec-51.dll; Flags: ignoreversion; Components: codec/ffmpegsource
|
||||
DestDir: {app}; Source: install\avformat-51.dll; Flags: ignoreversion; Components: codec/ffmpegsource
|
||||
DestDir: {app}; Source: install\avutil-49.dll; Flags: ignoreversion; Components: codec/ffmpegsource
|
||||
DestDir: {app}; Source: install\postproc-51.dll; Flags: ignoreversion; Components: codec/ffmpegsource
|
||||
DestDir: {app}; Source: install\swscale-0.dll; Flags: ignoreversion; Components: codec/ffmpegsource
|
||||
DestDir: {app}; Source: install\FFMpegSource.dll; Flags: ignoreversion; Components: codec
|
||||
DestDir: {app}; Source: install\avcodec-51.dll; Flags: ignoreversion; Components: codec
|
||||
DestDir: {app}; Source: install\avformat-51.dll; Flags: ignoreversion; Components: codec
|
||||
DestDir: {app}; Source: install\avutil-49.dll; Flags: ignoreversion; Components: codec
|
||||
DestDir: {app}; Source: install\postproc-51.dll; Flags: ignoreversion; Components: codec
|
||||
DestDir: {app}; Source: install\swscale-0.dll; Flags: ignoreversion; Components: codec
|
||||
; vsfilter
|
||||
DestDir: {app}\csri; Source: install\csri\VSFilter.dll; Flags: ignoreversion; Components: codec/vsfilter
|
||||
; auto4 main
|
||||
|
@ -66,13 +67,14 @@ DestDir: {app}\automation\include; Source: install\automation\include\utils-auto
|
|||
DestDir: {app}\automation\include; Source: install\automation\include\unicode.lua; Flags: ignoreversion; Components: auto/lua
|
||||
DestDir: {app}\automation\include; Source: install\automation\include\karaskel.lua; Flags: ignoreversion; Components: auto/lua
|
||||
DestDir: {app}\automation\include; Source: install\automation\include\karaskel-auto4.lua; Flags: ignoreversion; Components: auto/lua
|
||||
DestDir: {app}\automation\include; Source: install\automation\include\cleantags.lua; Flags: ignoreversion; Components: auto/lua
|
||||
DestDir: {app}\automation\autoload; Source: install\automation\autoload\kara-templater.lua; Flags: ignoreversion; Components: auto/lua
|
||||
; auto4 samples
|
||||
DestDir: {app}\automation\demos; Source: install\automation\demos\future-windy-blur.lua; Flags: ignoreversion; Components: auto/lua/samples
|
||||
;DestDir: {app}\automation\demos; Source: install\automation\demos\kara-templater-retime.ass; Flags: ignoreversion; Components: auto/lua/samples
|
||||
DestDir: {app}\automation\demos; Source: install\automation\demos\kara-templater-retime.ass; Flags: ignoreversion; Components: auto/lua/samples
|
||||
DestDir: {app}\automation\autoload; Source: install\automation\autoload\macro-1-edgeblur.lua; Flags: ignoreversion; Components: auto/lua/samples
|
||||
DestDir: {app}\automation\autoload; Source: install\automation\autoload\macro-2-mkfullwitdh.lua; Flags: ignoreversion; Components: auto/lua/samples
|
||||
;DestDir: {app}\automation\autoload; Source: install\automation\autoload\cleantags-autoload.lua; Flags: ignoreversion; Components: auto/lua/samples
|
||||
DestDir: {app}\automation\autoload; Source: install\automation\autoload\cleantags-autoload.lua; Flags: ignoreversion; Components: auto/lua/samples
|
||||
; auto3
|
||||
DestDir: {app}\automation\include; Source: install\automation\include\utils.auto3; Flags: ignoreversion; Components: auto/auto3
|
||||
DestDir: {app}\automation\include; Source: install\automation\include\karaskel.auto3; Flags: ignoreversion; Components: auto/auto3
|
||||
|
@ -80,9 +82,9 @@ DestDir: {app}\automation\include; Source: install\automation\include\karaskel-a
|
|||
DestDir: {app}\automation\include; Source: install\automation\include\karaskel-adv.lua; Flags: ignoreversion; Components: auto/auto3
|
||||
DestDir: {app}\automation\include; Source: install\automation\include\karaskel-base.lua; Flags: ignoreversion; Components: auto/auto3
|
||||
DestDir: {app}\automation\include; Source: install\automation\include\karaskel-base.auto3; Flags: ignoreversion; Components: auto/auto3
|
||||
DestDir: {app}\automation\auto3; Source: install\automation\auto3\line-per-syllable.lua; Flags: ignoreversion; Components: auto/auto3
|
||||
DestDir: {app}\automation\auto3; Source: install\automation\auto3\multi-template.lua; Flags: ignoreversion; Components: auto/auto3
|
||||
DestDir: {app}\automation\auto3; Source: install\automation\auto3\simple-k-replacer.lua; Flags: ignoreversion; Components: auto/auto3
|
||||
DestDir: {app}\automation\auto3; Source: install\automation\auto3\line-per-syllable.auto3; Flags: ignoreversion; Components: auto/auto3
|
||||
DestDir: {app}\automation\auto3; Source: install\automation\auto3\multi-template.auto3; Flags: ignoreversion; Components: auto/auto3
|
||||
DestDir: {app}\automation\auto3; Source: install\automation\auto3\simple-k-replacer.auto3; Flags: ignoreversion; Components: auto/auto3
|
||||
DestDir: {app}\automation\docs; Source: install\automation\docs\automation3.txt; Flags: ignoreversion; Components: auto/auto3
|
||||
; dictionaries
|
||||
Source: install\dictionaries\de_AT.dic; DestDir: {app}\dictionaries; Flags: ignoreversion; Components: dic/de_AT
|
||||
|
@ -112,8 +114,6 @@ Source: install\dictionaries\sl_SI.aff; DestDir: {app}\dictionaries; Flags: igno
|
|||
Source: install\dictionaries\sl_SI.dic; DestDir: {app}\dictionaries; Flags: ignoreversion; Components: dic/sl_SI
|
||||
Source: install\dictionaries\sv_SE.aff; DestDir: {app}\dictionaries; Flags: ignoreversion; Components: dic/sv_SE
|
||||
Source: install\dictionaries\sv_SE.dic; DestDir: {app}\dictionaries; Flags: ignoreversion; Components: dic/sv_SE
|
||||
Source: install\dictionaries\sw_KE.aff; DestDir: {app}\dictionaries; Flags: ignoreversion; Components: dic/sw_KE
|
||||
Source: install\dictionaries\sw_KE.dic; DestDir: {app}\dictionaries; Flags: ignoreversion; Components: dic/sw_KE
|
||||
; thesaurii
|
||||
Source: install\dictionaries\th_de_DE.dat; DestDir: {app}\dictionaries; Flags: ignoreversion; Components: th/de_DE
|
||||
Source: install\dictionaries\th_de_DE.idx; DestDir: {app}\dictionaries; Flags: ignoreversion; Components: th/de_DE
|
||||
|
@ -131,15 +131,13 @@ Name: {commonprograms}\{#MyAppName}; Filename: {app}\Aegisub.exe; WorkingDir: {a
|
|||
|
||||
[Run]
|
||||
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#MyAppName}}; Flags: nowait postinstall skipifsilent
|
||||
;Filename: {tmp}\vcredist_x86.exe; StatusMsg: Installing runtime libraries...; Components: main/runtime; Parameters: /Q
|
||||
Filename: {tmp}\vcredist_x86.exe; StatusMsg: Installing runtime libraries...; Components: main/runtime; Parameters: /Q
|
||||
|
||||
[Components]
|
||||
Name: main; Description: Aegisub; Types: compact full custom; Languages: ; Flags: fixed
|
||||
;Name: main/runtime; Description: Runtime libraries; Flags: fixed; Types: custom compact full; ExtraDiskSpaceRequired: 4630528
|
||||
Name: main/runtime; Description: Runtime libraries; Flags: fixed; Types: custom compact full; ExtraDiskSpaceRequired: 4630528; Check: CheckNeedRuntime
|
||||
Name: main/pdb; Description: Debug database (helps diagnose crashes); Types: full
|
||||
Name: codec; Description: Media formats support; Flags: fixed; Types: custom compact full
|
||||
Name: codec/avisynth; Description: Avisynth 2.56a; Flags: fixed; Types: custom compact full
|
||||
Name: codec/ffmpegsource; Description: FFmpegSource; Types: full compact custom; Flags: fixed
|
||||
Name: codec/vsfilter; Description: VSFilter 2.38-aegisub; Types: compact full custom; Flags: fixed
|
||||
Name: auto; Description: Automation 4 scripting support; Types: compact full
|
||||
Name: auto/lua; Description: Lua; Types: compact full; Flags: checkablealone; Languages:
|
||||
|
@ -162,7 +160,6 @@ Name: dic/pt_PT; Description: Portuguese dictionary; Types: full
|
|||
Name: dic/pt_BR; Description: Brazilian Portuguese dictionary; Types: full
|
||||
Name: dic/sk_SK; Description: Slovak dictionary; Types: full
|
||||
Name: dic/sl_SI; Description: Slovenian dictionary; Types: full
|
||||
Name: dic/sw_KE; Description: Swahili dictionary; Types: full
|
||||
Name: dic/sv_SE; Description: Swedish dictionary; Types: full
|
||||
Name: th; Description: Thesaurus; Types: full
|
||||
Name: th/en_US; Description: American English thesaurus; Types: full
|
||||
|
@ -170,3 +167,38 @@ Name: th/es_ES; Description: Estonian thesaurus; Types: full
|
|||
Name: th/fr_FR; Description: French thesaurus; Types: full
|
||||
Name: th/de_DE; Description: German thesaurus; Types: full
|
||||
Name: th/it_IT; Description: Italian thesaurus; Types: full
|
||||
|
||||
[Messages]
|
||||
; Replacement for License page, no need to bother the user with legal mumbo-jumbo
|
||||
WelcomeLabel2=This will install {#MyAppVerName} on your computer.%n%n{#MyAppName} is covered by the GNU General Public License version 2. This means you may use the application for any purpose without charge, but that no warranties of any kind are given either.%n%nSee the {#MyAppName} website for information on obtaining the source code.
|
||||
|
||||
[Code]
|
||||
var
|
||||
RuntimeLibChecked: Boolean;
|
||||
RuntimeLibInstalled: Boolean;
|
||||
|
||||
function LoadLibrary(lpFileName: string): LongInt; external 'LoadLibraryA@kernel32.dll stdcall';
|
||||
function FreeLibrary(hModule: LongInt): Boolean; external 'FreeLibrary@kernel32.dll stdcall';
|
||||
|
||||
function CheckNeedRuntime: Boolean;
|
||||
var
|
||||
LibHandle: LongInt;
|
||||
begin
|
||||
if not RuntimeLibChecked then
|
||||
begin
|
||||
RuntimeLibInstalled := True;
|
||||
try
|
||||
ExtractTemporaryFile('RuntimeTestLibrary.dll');
|
||||
LibHandle := LoadLibrary(ExpandConstant('{tmp}') + '\RuntimeTestLibrary.dll');
|
||||
if LibHandle = 0 then
|
||||
RuntimeLibInstalled := False
|
||||
else
|
||||
FreeLibrary(LibHandle);
|
||||
except
|
||||
RuntimeLibInstalled := False;
|
||||
end;
|
||||
RuntimeLibChecked := True;
|
||||
end;
|
||||
Result := not RuntimeLibInstalled;
|
||||
end;
|
||||
|
||||
|
|
Loading…
Reference in New Issue