More cleanup efforts on the installer scripts
Untested, probably still needs work
This commit is contained in:
parent
e2bd1283c6
commit
6e0706939e
11 changed files with 36 additions and 128 deletions
|
@ -32,7 +32,6 @@
|
|||
; Contact: mailto:nielsm@indvikleren.dk
|
||||
;
|
||||
|
||||
#define ARCH64
|
||||
#define ARCH 64
|
||||
|
||||
#include "fragment_setupbase.iss"
|
||||
|
@ -42,24 +41,18 @@
|
|||
AppID={{24BC8B57-716C-444F-B46B-A3349B9164C5}
|
||||
DefaultDirName={pf}\Aegisub
|
||||
PrivilegesRequired=poweruser
|
||||
#ifdef ARCH64
|
||||
ArchitecturesInstallIn64BitMode=x64
|
||||
ArchitecturesAllowed=x64
|
||||
#endif
|
||||
|
||||
#include "fragment_mainprogram.iss"
|
||||
#include "fragment_associations.iss"
|
||||
#ifdef ARCH64
|
||||
#include "fragment_codecs_64.iss"
|
||||
#else
|
||||
#include "fragment_codecs_32.iss"
|
||||
#endif
|
||||
#include "fragment_codecs.iss"
|
||||
#include "fragment_automation.iss"
|
||||
#include "fragment_translations.iss"
|
||||
#include "fragment_spelling.iss"
|
||||
#include "fragment_assdraw.iss"
|
||||
#ifdef DEPCTRL
|
||||
#include "fragment_runtimes.iss"
|
||||
|
||||
#endif
|
||||
|
||||
[Code]
|
||||
#include "fragment_shell_code.iss"
|
||||
|
|
3
packages/win_installer/aegisub_depctrl.iss
Normal file
3
packages/win_installer/aegisub_depctrl.iss
Normal file
|
@ -0,0 +1,3 @@
|
|||
#define DEPCTRL
|
||||
|
||||
#include "aegisub3.iss"
|
|
@ -1,43 +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
|
||||
;
|
||||
|
||||
|
||||
[Files]
|
||||
; ASSDraw3
|
||||
Source: vendor\ASSDraw\ASSDraw3.exe; DestDir: {app}; Flags: ignoreversion; Components: assdraw
|
||||
Source: vendor\ASSDraw\ASSDraw3.chm; DestDir: {app}; Flags: ignoreversion; Components: assdraw
|
||||
|
||||
[Icons]
|
||||
Name: {commonprograms}\ASSDraw3; Filename: {app}\ASSDraw3.exe; WorkingDir: {app}; IconIndex: 0; Flags: createonlyiffileexists; Comment: Create vector drawings for ASS-format subtitles; Components: assdraw
|
||||
|
|
@ -32,7 +32,6 @@
|
|||
; Contact: mailto:nielsm@indvikleren.dk
|
||||
;
|
||||
|
||||
|
||||
[Files]
|
||||
DestDir: {commontemplates}; Source: template.ass; DestName: Aegisub.ass
|
||||
|
||||
|
@ -195,4 +194,3 @@ Root: HKLM; Subkey: "SOFTWARE\Classes\.m4a\OpenWithProgids"; ValueType: string;
|
|||
Root: HKLM; Subkey: "SOFTWARE\Classes\.wav\OpenWithProgids"; ValueType: string; ValueName: "Aegisub.Audio.1"; Flags: uninsdeletevalue
|
||||
Root: HKLM; Subkey: "SOFTWARE\Classes\.ogg\OpenWithProgids"; ValueType: string; ValueName: "Aegisub.Media.1"; Flags: uninsdeletevalue
|
||||
Root: HKLM; Subkey: "SOFTWARE\Classes\.avs\OpenWithProgids"; ValueType: string; ValueName: "Aegisub.Video.1"; Flags: uninsdeletevalue
|
||||
|
||||
|
|
|
@ -38,8 +38,6 @@
|
|||
DestDir: {app}\automation\autoload; Source: ..\..\automation\autoload\cleantags-autoload.lua; Flags: ignoreversion overwritereadonly uninsremovereadonly; Attribs: readonly; Components: macros\bundled
|
||||
DestDir: {app}\automation\autoload; Source: ..\..\automation\autoload\kara-templater.lua; Flags: ignoreversion overwritereadonly uninsremovereadonly; Attribs: readonly; Components: macros\bundled
|
||||
DestDir: {app}\automation\autoload; Source: ..\..\automation\autoload\karaoke-auto-leadin.lua; Flags: ignoreversion overwritereadonly uninsremovereadonly; Attribs: readonly; Components: macros\bundled
|
||||
DestDir: {app}\automation\autoload; Source: ..\..\automation\autoload\macro-1-edgeblur.lua; Flags: ignoreversion overwritereadonly uninsremovereadonly; Attribs: readonly; Components: macros\bundled
|
||||
DestDir: {app}\automation\autoload; Source: ..\..\automation\autoload\macro-2-mkfullwitdh.lua; Flags: ignoreversion overwritereadonly uninsremovereadonly; Attribs: readonly; Components: macros\bundled
|
||||
DestDir: {app}\automation\autoload; Source: ..\..\automation\autoload\select-overlaps.moon; Flags: ignoreversion overwritereadonly uninsremovereadonly; Attribs: readonly; Components: macros\bundled
|
||||
DestDir: {app}\automation\autoload; Source: ..\..\automation\autoload\strip-tags.lua; Flags: ignoreversion overwritereadonly uninsremovereadonly; Attribs: readonly; Components: macros\bundled
|
||||
DestDir: {app}\automation\demos; Source: ..\..\automation\demos\future-windy-blur.lua; Flags: ignoreversion overwritereadonly uninsremovereadonly; Attribs: readonly; Components: macros\demos
|
||||
|
@ -62,38 +60,33 @@ DestDir: {app}\automation\include; Source: ..\..\automation\include\unicode.lua;
|
|||
DestDir: {app}\automation\include; Source: ..\..\automation\include\utils-auto4.lua; Flags: ignoreversion overwritereadonly uninsremovereadonly; Attribs: readonly; Components: main
|
||||
DestDir: {app}\automation\include; Source: ..\..\automation\include\utils.lua; Flags: ignoreversion overwritereadonly uninsremovereadonly; Attribs: readonly; Components: main
|
||||
|
||||
|
||||
; DepCtrl
|
||||
#ifdef DEPCTRL
|
||||
DestDir: {userappdata}\Aegisub\automation\include\l0; Source: vendor\DependencyControl\modules\*; Flags: ignoreversion recursesubdirs createallsubdirs; Components: macros\modules\depctrl
|
||||
DestDir: {userappdata}\Aegisub\automation\autoload; Source: vendor\DependencyControl\macros\*; Flags: ignoreversion recursesubdirs createallsubdirs; Components: macros\modules\depctrl
|
||||
DestDir: {userappdata}\Aegisub\automation\include; Source: vendor\Yutils\src\Yutils.lua; Flags: ignoreversion; Components: macros\modules\yutils
|
||||
DestDir: {userappdata}\Aegisub\automation\include; Source: vendor\ffi-experiments\luajson\*; Flags: ignoreversion recursesubdirs createallsubdirs; Components: macros\modules\luajson
|
||||
DestDir: {userappdata}\Aegisub\automation\include\requireffi; Source: vendor\ffi-experiments\requireffi\*; Flags: ignoreversion recursesubdirs createallsubdirs; Components: macros\modules\depctrl
|
||||
#ifdef ARCH64
|
||||
|
||||
DestDir: {userappdata}\Aegisub\automation\include; Source: vendor\ffi-experiments\BadMutex-v0.1.3-Win64\*; Flags: ignoreversion recursesubdirs createallsubdirs; Components: macros\modules\depctrl
|
||||
DestDir: {userappdata}\Aegisub\automation\include; Source: vendor\ffi-experiments\PreciseTimer-v0.1.5-Win64\*; Flags: ignoreversion recursesubdirs createallsubdirs; Components: macros\modules\depctrl
|
||||
DestDir: {userappdata}\Aegisub\automation\include; Source: vendor\ffi-experiments\DownloadManager-v0.4.0-Win64\*; Flags: ignoreversion recursesubdirs createallsubdirs; Components: macros\modules\depctrl
|
||||
#else
|
||||
DestDir: {userappdata}\Aegisub\automation\include; Source: vendor\ffi-experiments\BadMutex-v0.1.3-Win32\*; Flags: ignoreversion recursesubdirs createallsubdirs; Components: macros\modules\depctrl
|
||||
DestDir: {userappdata}\Aegisub\automation\include; Source: vendor\ffi-experiments\PreciseTimer-v0.1.5-Win32\*; Flags: ignoreversion recursesubdirs createallsubdirs; Components: macros\modules\depctrl
|
||||
DestDir: {userappdata}\Aegisub\automation\include; Source: vendor\ffi-experiments\DownloadManager-v0.4.0-Win32\*; Flags: ignoreversion recursesubdirs createallsubdirs; Components: macros\modules\depctrl
|
||||
#endif
|
||||
|
||||
[Dirs]
|
||||
Name: {userappdata}\Aegisub\automation\test\DepUnit\automation; Components: macros\modules\depctrl;
|
||||
Name: {userappdata}\Aegisub\automation\test\DepUnit\modules; Components: macros\modules\depctrl;
|
||||
Name: {userappdata}\Aegisub\automation\schema\DepSqlite\automation; Components: macros\modules\depctrl;
|
||||
Name: {userappdata}\Aegisub\automation\schema\DepSqlite\modules; Components: macros\modules\depctrl;
|
||||
Name: {userappdata}\Aegisub\automation\lifecycle\DepLifecycle\automation; Components: macros\modules\depctrl;
|
||||
Name: {userappdata}\Aegisub\automation\test\DepUnit\modules; Components: macros\modules\depctrl;
|
||||
Name: {userappdata}\Aegisub\automation\schema\DepSqlite\automation; Components: macros\modules\depctrl;
|
||||
Name: {userappdata}\Aegisub\automation\schema\DepSqlite\modules; Components: macros\modules\depctrl;
|
||||
Name: {userappdata}\Aegisub\automation\lifecycle\DepLifecycle\automation; Components: macros\modules\depctrl;
|
||||
Name: {userappdata}\Aegisub\automation\lifecycle\DepLifecycle\modules; Components: macros\modules\depctrl;
|
||||
|
||||
#endif
|
||||
|
||||
[InstallDelete]
|
||||
Type: files; Name: "{userappdata}\Aegisub\l0.UpdateFeed_*.json"
|
||||
Type: files; Name: "{userappdata}\Aegisub\DependencyControl.json"
|
||||
Type: files; Name: "{userappdata}\Aegisub\Nudge.json"
|
||||
Type: files; Name: "{userappdata}\Aegisub\PasteAILines.json"
|
||||
Type: files; Name: "{userappdata}\Aegisub\Nudge.json" ; why is this here?
|
||||
Type: files; Name: "{userappdata}\Aegisub\PasteAILines.json" ; ditto
|
||||
Type: files; Name: "{userappdata}\Aegisub\ASSWipe.json"
|
||||
Type: files; Name: "{userappdata}\Aegisub\automation\include\DM\DownloadManager.dll"
|
||||
Type: files; Name: "{userappdata}\Aegisub\automation\include\BM\BadMutex.dll"
|
||||
Type: files; Name: "{userappdata}\Aegisub\automation\include\PT\PreciseTimer.dll"
|
||||
Type: files; Name: "{userappdata}\Aegisub\automation\include\PT\PreciseTimer.dll"
|
||||
|
|
|
@ -32,12 +32,10 @@
|
|||
; Contact: mailto:nielsm@indvikleren.dk
|
||||
;
|
||||
|
||||
|
||||
[Files]
|
||||
; avisynth
|
||||
; Avisynth
|
||||
DestDir: {app}; Source: vendor\AvisynthPlus64\devil.dll; Flags: ignoreversion; Components: main
|
||||
DestDir: {app}; Source: vendor\AvisynthPlus64\avisynth.dll; Flags: ignoreversion; Components: main
|
||||
DestDir: {app}; Source: vendor\AvisynthPlus64\DirectShowSource.dll; Flags: ignoreversion; Components: main
|
||||
; vsfilter
|
||||
; VSFilter
|
||||
DestDir: {app}\csri; Source: vendor\xy-vsfilter\xy-vsfilter-aegisub64.dll; Flags: ignoreversion; Components: main
|
||||
|
|
@ -37,14 +37,15 @@ Name: "main"; Description: "Main Files"; Types: full compact custom; Flags: fixe
|
|||
Name: "macros"; Description: "Automation Scripts"; Types: full
|
||||
Name: "macros\bundled"; Description: "Bundled macros"; Types: full
|
||||
Name: "macros\demos"; Description: "Example macros/Demos"; Types: full
|
||||
#ifdef DEPCTRL
|
||||
Name: "macros\modules"; Description: "Modules"; Types: full
|
||||
Name: "macros\modules\depctrl"; Description: "DependencyControl"; Types: full
|
||||
Name: "macros\modules\yutils"; Description: "YUtils"; Types: full
|
||||
Name: "macros\modules\luajson"; Description: "LuaJSON"; Types: full
|
||||
#endif
|
||||
Name: "dictionaries"; Description: "Spellcheck Dictionaries"; Types: full
|
||||
Name: "dictionaries\en_US"; Description: "English (US)"; Types: full
|
||||
Name: "translations"; Description: "Aegisub Translations"; Types: full
|
||||
Name: "assdraw"; Description: "ASSDraw 3"; Types: full
|
||||
|
||||
[Tasks]
|
||||
Name: "startmenuicon"; Description: "{cm:StartMenuIcon}"; GroupDescription: "{cm:AdditionalIcons}"
|
||||
|
|
|
@ -33,21 +33,15 @@
|
|||
;
|
||||
|
||||
; This file implements checking for and installing runtime libraries for Aegisub
|
||||
#ifdef ARCH64
|
||||
#define SUFFIX "x64"
|
||||
#else
|
||||
#define SUFFIX "x86"
|
||||
#endif
|
||||
|
||||
[Files]
|
||||
DestDir: {tmp}; Source: src\vcredist_{#SUFFIX}.exe; Flags: nocompression deleteafterinstall
|
||||
;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
|
||||
|
||||
DestDir: {tmp}; Source: src\vcredist_{#ARCH}.exe; Flags: nocompression deleteafterinstall
|
||||
;Source: src\redist\{#ARCH}\Microsoft.VC140.CRT\msvcp140.dll; DestDir: {app}; Flags: ignoreversion
|
||||
;Source: src\redist\{#ARCH}\Microsoft.VC140.CRT\concrt140.dll; DestDir: {app}; Flags: ignoreversion
|
||||
;Source: src\redist\{#ARCH}\Microsoft.VC140.CRT\vccorlib140.dll; DestDir: {app}; Flags: ignoreversion
|
||||
;Source: src\redist\{#ARCH}\Microsoft.VC140.CRT\vcruntime140.dll; DestDir: {app}; Flags: ignoreversion
|
||||
;Source: src\redist\{#ARCH}\Microsoft.VC140.MFC\mfc140u.dll; DestDir: {app}; Flags: ignoreversion
|
||||
;Source: src\redist\{#ARCH}\Microsoft.VC140.MFC\mfcm140u.dll; DestDir: {app}; Flags: ignoreversion
|
||||
|
||||
[Run]
|
||||
Filename: {tmp}\vcredist_{#SUFFIX}.exe; StatusMsg: {cm:InstallRuntime}; Parameters: "/install /quiet /norestart"
|
||||
Filename: {tmp}\vcredist_{#ARCH}.exe; StatusMsg: {cm:InstallRuntime}; Parameters: "/install /quiet /norestart"
|
||||
|
|
|
@ -40,8 +40,8 @@ AppVerName=Aegisub {#BUILD_GIT_VERSION_STRING}
|
|||
AppVersion={#INSTALLER_VERSION}
|
||||
AppPublisher=Aegisub Team
|
||||
AppPublisherURL=http://www.aegisub.org/
|
||||
AppSupportURL=http://forum.aegisub.org/
|
||||
AppCopyright=© 2005-2018 The Aegisub Team
|
||||
AppSupportURL=https://github.com/TypesettingTools/Aegisub/issues
|
||||
AppCopyright=2005-2018 The Aegisub Team
|
||||
VersionInfoVersion={#INSTALLER_VERSION}
|
||||
DefaultGroupName=Aegisub
|
||||
AllowNoIcons=true
|
||||
|
@ -107,4 +107,3 @@ DestDir: {tmp}; Flags: dontcopy; Source: old_filelist.txt
|
|||
DestDir: {tmp}; Flags: dontcopy; Source: old_dirlist.txt
|
||||
DestDir: {tmp}; Flags: dontcopy; Source: old_locales.txt
|
||||
DestDir: {tmp}; Flags: dontcopy; Source: old_shortcutlist.txt
|
||||
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
@echo off
|
||||
|
||||
echo Gathering files
|
||||
xcopy ..\..\..\automation\autoload\*.lua aegisub-portable\automation\autoload\ > NUL
|
||||
xcopy ..\..\..\automation\demos\*.lua aegisub-portable\automation\demos\ > NUL
|
||||
xcopy ..\..\..\automation\include\*.lua aegisub-portable\automation\include\ > NUL
|
||||
xcopy ..\..\..\bin\aegisub64.exe aegisub-portable\ > NUL
|
||||
xcopy ..\..\..\bin\ffms2_64.dll aegisub-portable\ > NUL
|
||||
xcopy ..\src\ASSDraw3.chm aegisub-portable\ > NUL
|
||||
xcopy ..\src\ASSDraw3.exe aegisub-portable\ > NUL
|
||||
xcopy ..\src\dictionaries\en_US.aff aegisub-portable\dictionaries\ > NUL
|
||||
xcopy ..\src\dictionaries\en_US.dic aegisub-portable\dictionaries\ > NUL
|
||||
xcopy ..\src\vsfilter-aegisub64.dll aegisub-portable\csri\ > NUL
|
||||
xcopy ..\src\x64\Microsoft.VC90.CRT\* aegisub-portable\Microsoft.VC90.CRT\ > NUL
|
||||
xcopy config.json aegisub-portable\ > NUL
|
||||
|
||||
echo Creating SFX
|
||||
del ..\output\aegisub-3.1.0-portable-64.exe
|
||||
WinRAR a -sfx -s -m5 -ep1 -r -zportable-comment.txt -iimgside-logo.bmp -iiconicon.ico ..\output\aegisub-3.1.0-portable-64.exe aegisub-portable\
|
||||
|
||||
echo Removing temp dir
|
||||
rmdir /S /Q aegisub-portable > NUL
|
||||
|
|
@ -4,24 +4,19 @@ echo Gathering files
|
|||
xcopy ..\..\..\automation\autoload\*.lua aegisub-portable\automation\autoload\ > NUL
|
||||
xcopy ..\..\..\automation\demos\*.lua aegisub-portable\automation\demos\ > NUL
|
||||
xcopy ..\..\..\automation\include\*.lua aegisub-portable\automation\include\ > NUL
|
||||
xcopy ..\..\..\bin\aegisub32.exe aegisub-portable\ > NUL
|
||||
xcopy ..\..\..\bin\ffms2.dll aegisub-portable\ > NUL
|
||||
xcopy ..\..\..\bin\aegisub64.exe aegisub-portable\ > NUL
|
||||
xcopy ..\..\..\bin\ffms2_64.dll aegisub-portable\ > NUL
|
||||
xcopy ..\src\ASSDraw3.chm aegisub-portable\ > NUL
|
||||
xcopy ..\src\ASSDraw3.exe aegisub-portable\ > NUL
|
||||
xcopy ..\src\DirectShowSource.dll aegisub-portable\ > NUL
|
||||
xcopy ..\src\avisynth.dll aegisub-portable\ > NUL
|
||||
xcopy ..\src\devil.dll aegisub-portable\ > NUL
|
||||
xcopy ..\src\dictionaries\en_US.aff aegisub-portable\dictionaries\ > NUL
|
||||
xcopy ..\src\dictionaries\en_US.dic aegisub-portable\dictionaries\ > NUL
|
||||
xcopy ..\src\vsfilter-aegisub32.dll aegisub-portable\csri\ > NUL
|
||||
xcopy ..\src\xy-vsfilter-aegisub.dll aegisub-portable\csri\ > NUL
|
||||
xcopy ..\src\x86\Microsoft.VC90.CRT\* aegisub-portable\Microsoft.VC90.CRT\ > NUL
|
||||
xcopy ..\src\vsfilter-aegisub64.dll aegisub-portable\csri\ > NUL
|
||||
xcopy ..\src\x64\Microsoft.VC90.CRT\* aegisub-portable\Microsoft.VC90.CRT\ > NUL
|
||||
xcopy config.json aegisub-portable\ > NUL
|
||||
|
||||
echo Creating SFX
|
||||
del ..\output\aegisub-3.1.0-portable.exe
|
||||
WinRAR a -sfx -s -m5 -ep1 -r -zportable-comment.txt -iimgside-logo.bmp -iiconicon.ico ..\output\aegisub-3.1.0-portable.exe aegisub-portable\
|
||||
del ..\output\aegisub-3.1.0-portable-64.exe
|
||||
WinRAR a -sfx -s -m5 -ep1 -r -zportable-comment.txt -iimgside-logo.bmp -iiconicon.ico ..\output\aegisub-3.1.0-portable-64.exe aegisub-portable\
|
||||
|
||||
echo Removing temp dir
|
||||
rmdir /S /Q aegisub-portable > NUL
|
||||
|
||||
|
|
Loading…
Reference in a new issue