mirror of https://github.com/odrling/Aegisub
Remove outdated and unused Windows installer scripts.
Originally committed to SVN as r2832.
This commit is contained in:
parent
b842a3ea76
commit
e8d1767428
|
@ -1,174 +0,0 @@
|
||||||
; Copyright (c) 2006, Fredrik Mellbin
|
|
||||||
; All rights reserved.
|
|
||||||
;
|
|
||||||
; 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://aegisub.cellosoft.com
|
|
||||||
; Contact: mailto:zeratul@cellosoft.com
|
|
||||||
;
|
|
||||||
|
|
||||||
[Setup]
|
|
||||||
AppName=Aegisub
|
|
||||||
AppVerName=Aegisub 1.10
|
|
||||||
AppPublisher=The Aegisub Group
|
|
||||||
AppPublisherURL=http://www.aegisub.net/
|
|
||||||
AppSupportURL=http://www.aegisub.net/
|
|
||||||
AppUpdatesURL=http://www.aegisub.net/
|
|
||||||
DefaultDirName={pf}\Aegisub
|
|
||||||
DefaultGroupName=Aegisub
|
|
||||||
AllowNoIcons=yes
|
|
||||||
LicenseFile=license.txt
|
|
||||||
OutputBaseFilename=Aegisub-Installer
|
|
||||||
Compression=lzma/ultra
|
|
||||||
SolidCompression=yes
|
|
||||||
MinVersion=0,5
|
|
||||||
WizardImageFile=welcome.bmp
|
|
||||||
WizardSmallImageFile=aegisub.bmp
|
|
||||||
|
|
||||||
[Languages]
|
|
||||||
Name: "english"; MessagesFile: "compiler:Default.isl"
|
|
||||||
|
|
||||||
[Types]
|
|
||||||
Name: "Full"; Description: "Full Installation"
|
|
||||||
Name: "Custom"; Description: "Custom"; Flags: IsCustom;
|
|
||||||
|
|
||||||
[Components]
|
|
||||||
Name: "APF"; Description: "Aegisub Program Files"; Types: Full; Flags: disablenouninstallwarning
|
|
||||||
Name: "APF\Aegisub"; Description: "Aegisub"; Types: Full; Flags: disablenouninstallwarning fixed
|
|
||||||
Name: "APF\Help"; Description: "Aegisub Help"; Types: Full; Flags: disablenouninstallwarning
|
|
||||||
Name: "APF\VSFilter"; Description: "VSFilter 2.37"; Types: Full; Flags: disablenouninstallwarning
|
|
||||||
|
|
||||||
[Files]
|
|
||||||
;APF\Aegisub
|
|
||||||
Source: "Aegisub.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: APF\Aegisub
|
|
||||||
Source: "Aegisub Site.url"; DestDir: "{app}"; Flags: ignoreversion; Components: APF\Aegisub
|
|
||||||
Source: "changelog.txt"; DestDir: "{app}"; Flags: ignoreversion; Components: APF\Aegisub
|
|
||||||
Source: "msvcp71.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: APF\Aegisub
|
|
||||||
Source: "msvcr71.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: APF\Aegisub
|
|
||||||
Source: "locale\*"; DestDir: "{app}\locale"; Excludes: "*.svn"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension; Components: APF\Aegisub
|
|
||||||
Source: "automation\*"; DestDir: "{app}\automation"; Excludes: "*.svn"; Attribs: readonly; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension overwritereadonly uninsremovereadonly ; Components: APF\Aegisub
|
|
||||||
|
|
||||||
;APF\Help
|
|
||||||
Source: "Aegisub.chm"; DestDir: "{app}"; Flags: ignoreversion; Components: APF\Help
|
|
||||||
|
|
||||||
;APF\VSFilter
|
|
||||||
Source: "VSFilter.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: APF\VSFilter
|
|
||||||
|
|
||||||
[Tasks]
|
|
||||||
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
|
||||||
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
|
|
||||||
|
|
||||||
[Icons]
|
|
||||||
Name: "{group}\Aegisub"; Filename: "{app}\aegisub.exe"; Components: APF\Aegisub
|
|
||||||
Name: "{group}\{cm:ProgramOnTheWeb,Aegisub}"; Filename: "{app}\Aegisub Site.url"; Components: APF\Aegisub
|
|
||||||
Name: "{group}\{cm:UninstallProgram,Aegisub}"; Filename: "{uninstallexe}"; Components: APF\Aegisub
|
|
||||||
Name: "{userdesktop}\Aegisub"; Filename: "{app}\aegisub.exe"; Tasks: desktopicon; Components: APF\Aegisub
|
|
||||||
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Aegisub"; Filename: "{app}\aegisub.exe"; Tasks: quicklaunchicon; Components: APF\Aegisub
|
|
||||||
|
|
||||||
Name: "{group}\Aegisub Help"; Filename: "{app}\Aegisub.chm"; Components: APF\Help
|
|
||||||
|
|
||||||
[Run]
|
|
||||||
Filename: "{app}\aegisub.exe"; Description: "{cm:LaunchProgram,Aegisub}"; Flags: nowait postinstall skipifsilent
|
|
||||||
|
|
||||||
[UninstallDelete]
|
|
||||||
Type: filesandordirs; Name: "{app}\autosave"
|
|
||||||
Type: filesandordirs; Name: "{app}\autoback"
|
|
||||||
|
|
||||||
[Code]
|
|
||||||
function InitializeSetup: Boolean;
|
|
||||||
var
|
|
||||||
InstallDir: string;
|
|
||||||
InstalledVersion: string;
|
|
||||||
ReturnCode: Integer;
|
|
||||||
VersionMS, VersionLS: Cardinal;
|
|
||||||
UninstallOld: Integer;
|
|
||||||
begin
|
|
||||||
Result := GetVersionNumbers(AddBackslash(ExpandConstant('{sys}')) + 'avisynth.dll', VersionMS , VersionLS);
|
|
||||||
if Result then
|
|
||||||
Result := VersionMS = 2 shl 16 + 5;
|
|
||||||
|
|
||||||
if not Result then
|
|
||||||
if MsgBox('Aegisub requires Avisynth 2.5 to be installed in order to work.'#13#10'The latest stable Avisynth version can be downloaded from from http://sourceforge.net/projects/avisynth2/files'#13#10'Proceed anyway?', mbConfirmation, MB_YESNO) = IDNO then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
if VersionLS < 6 shl 16 then
|
|
||||||
if MsgBox('An outdated version of Avisynth was found (2.5.' + IntToStr(VersionLS shr 16) + '). Aegisub requires at least Avisynth 2.5.6a to be installed in order to work properly.'#13#10'The latest stable Avisynth version can be downloaded from from http://sourceforge.net/projects/avisynth2/files'#13#10'Proceed anyway?', mbConfirmation, MB_YESNO) = IDNO then
|
|
||||||
Exit;
|
|
||||||
|
|
||||||
if RegQueryStringValue(HKLM, 'SOFTWARE\Aegisub\info', 'InstallDir', InstallDir) and RegQueryStringValue(HKLM, 'SOFTWARE\Aegisub\info', 'InstVer', InstalledVersion) and FileExists(AddBackslash(InstallDir) + 'uninstall.exe') then
|
|
||||||
begin
|
|
||||||
UninstallOld := MsgBox('A previous Aegisub install has been detected (Version ' + InstalledVersion + ').'#13#10'Due to changes from the old installer you are strongly encouraged to uninstall it first.'#13#10'Uninstall it before proceeding?', mbConfirmation, MB_YESNOCANCEL);
|
|
||||||
if UninstallOld = IDCANCEL then
|
|
||||||
Result := False
|
|
||||||
else if UninstallOld = IDYES then
|
|
||||||
if FileCopy(AddBackslash(InstallDir) + 'uninstall.exe', AddBackslash(ExpandConstant('{tmp}')) + 'aegisub-uninstall.exe', False) then
|
|
||||||
begin
|
|
||||||
Exec(AddBackslash(ExpandConstant('{tmp}')) + 'aegisub-uninstall.exe', '_?=' + InstallDir, InstallDir, SW_SHOW, ewWaitUntilTerminated, ReturnCode);
|
|
||||||
DeleteFile(AddBackslash(ExpandConstant('{tmp}')) + 'aegisub-uninstall.exe');
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure CurStepChanged(CurStep: TSetupStep);
|
|
||||||
var
|
|
||||||
UninstallString: string;
|
|
||||||
ReturnCode: Integer;
|
|
||||||
begin
|
|
||||||
case CurStep of
|
|
||||||
ssInstall:
|
|
||||||
begin
|
|
||||||
//uninstall previous version for upgrades if same dir was selected
|
|
||||||
if RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\Aegisub_is1', 'UninstallString', UninstallString) then
|
|
||||||
if AddBackslash(ExtractFilePath(RemoveQuotes(UninstallString))) = AddBackslash(ExpandConstant('{app}')) then
|
|
||||||
Exec(RemoveQuotes(UninstallString), '/VERYSILENT /NORESTART', '', SW_SHOW, ewWaitUntilTerminated, ReturnCode);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
|
|
||||||
begin
|
|
||||||
case CurUninstallStep of
|
|
||||||
usUninstall:
|
|
||||||
begin
|
|
||||||
if DirExists(AddBackslash(ExpandConstant('{app}')) + 'catalog') then
|
|
||||||
if not (UninstallSilent or (MsgBox('Would you like to keep your styles catalog?', mbConfirmation, MB_YESNO) = IDYES)) then
|
|
||||||
DelTree(AddBackslash(ExpandConstant('{app}')) + 'catalog', True, True, True);
|
|
||||||
|
|
||||||
if FileExists(AddBackslash(ExpandConstant('{app}')) + 'config.dat') or FileExists(AddBackslash(ExpandConstant('{app}')) + 'hotkeys.dat') then
|
|
||||||
if not (UninstallSilent or (MsgBox('Would you like to save your Aegisub configuration?', mbConfirmation, MB_YESNO) = IDYES)) then
|
|
||||||
begin
|
|
||||||
DeleteFile(AddBackslash(ExpandConstant('{app}')) + 'config.dat');
|
|
||||||
DeleteFile(AddBackslash(ExpandConstant('{app}')) + 'hotkeys.dat');
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,528 +0,0 @@
|
||||||
; Copyright (c) 2005, Fredrik Mellbin, Krunal Desai
|
|
||||||
; All rights reserved.
|
|
||||||
;
|
|
||||||
; 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://aegisub.cellosoft.com
|
|
||||||
; Contact: mailto:zeratul@cellosoft.com
|
|
||||||
;
|
|
||||||
|
|
||||||
;************************************************************************************
|
|
||||||
crccheck force
|
|
||||||
;************************************************************************************
|
|
||||||
;Macros
|
|
||||||
|
|
||||||
;--------------------------------
|
|
||||||
!define AEGISUB_VERSION "1.10"
|
|
||||||
!define NAME "Aegisub ${AEGISUB_VERSION}"
|
|
||||||
!define FNAME "Aegisub-${AEGISUB_VERSION}"
|
|
||||||
!define DISPLAYNAME "Aegisub ${AEGISUB_VERSION}"
|
|
||||||
!define VERSIONDATE "${__DATE__}"
|
|
||||||
!define AVISYNTH_INSTALLER "Avisynth_256.exe"
|
|
||||||
!define AVISYNTH_INSTALLER_SERVER "http://d.movax.org"
|
|
||||||
!define AVISYNTH_SOURCE "Avisynth_256_source.rar"
|
|
||||||
!define AVISYNTH_SOURCE_SERVER "http://files.cellosoft.com/zeratul"
|
|
||||||
;--------------------------------
|
|
||||||
;Version Information
|
|
||||||
VIProductVersion "1.1.0.0"
|
|
||||||
VIAddVersionKey "ProductName" "Aegisub"
|
|
||||||
VIAddVersionKey "Comments" "Saving the world from bad typesetting."
|
|
||||||
VIAddVersionKey "CompanyName" "#aegisub"
|
|
||||||
VIAddVersionKey "FileDescription" "${NAME}"
|
|
||||||
VIAddVersionKey "FileVersion" "${AEGISUB_VERSION}"
|
|
||||||
VIAddVersionKey "LegalCopyright" "The Aegisub Group"
|
|
||||||
;--------------------------------
|
|
||||||
;Includes
|
|
||||||
!include "MUI.nsh"
|
|
||||||
!include "Sections.nsh"
|
|
||||||
!include "WinMessages.nsh"
|
|
||||||
!include "logiclib.nsh"
|
|
||||||
;************************************************************************************
|
|
||||||
;General Settings
|
|
||||||
Name "${NAME}"
|
|
||||||
|
|
||||||
SetCompressor /SOLID /FINAL LZMA
|
|
||||||
|
|
||||||
Outfile "${FNAME}.exe"
|
|
||||||
InstallDirRegKey HKLM "Software\Aegisub\info" "InstallDir"
|
|
||||||
InstallDir "$PROGRAMFILES\Aegisub"
|
|
||||||
|
|
||||||
var startmenudir
|
|
||||||
var prevname
|
|
||||||
var prevdir
|
|
||||||
var prevver
|
|
||||||
var vsfilter_installed
|
|
||||||
var aegisub_source_installed
|
|
||||||
var help_installed
|
|
||||||
;************************************************************************************
|
|
||||||
;Modern UI Configuration
|
|
||||||
!define MUI_COMPONENTSPAGE_CHECKBITMAP "C:\Program Files\NSIS\Contrib\Graphics\Checks\modern.bmp"
|
|
||||||
!define MUI_COMPONENTSPAGE_SMALLDESC
|
|
||||||
!define MUI_FINISHPAGE_NOAUTOCLOSE
|
|
||||||
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
|
|
||||||
!define MUI_ABORTWARNING
|
|
||||||
!define MUI_UNABORTWARNING
|
|
||||||
!define MUI_HEADERIMAGE
|
|
||||||
!define MUI_HEADERIMAGE_RIGHT
|
|
||||||
!define MUI_HEADERIMAGE_BITMAP "aegisub.bmp"
|
|
||||||
!define MUI_WELCOMEFINISHPAGE_BITMAP "welcome.bmp"
|
|
||||||
!define MUI_STARTMENUPAGE_DEFAULTFOLDER "Aegisub"
|
|
||||||
XPstyle on
|
|
||||||
;************************************************************************************
|
|
||||||
;Pages
|
|
||||||
!insertmacro MUI_PAGE_WELCOME
|
|
||||||
!define MUI_LICENSEPAGE_CHECKBOX
|
|
||||||
!define MUI_LICENSEPAGE_CHECKBOX_TEXT "I agree."
|
|
||||||
!insertmacro MUI_PAGE_LICENSE license.txt
|
|
||||||
!insertmacro MUI_PAGE_COMPONENTS
|
|
||||||
!insertmacro MUI_PAGE_DIRECTORY
|
|
||||||
!insertmacro MUI_PAGE_STARTMENU 1 $startmenudir
|
|
||||||
!insertmacro MUI_PAGE_INSTFILES
|
|
||||||
!insertmacro MUI_UNPAGE_WELCOME
|
|
||||||
!insertmacro MUI_UNPAGE_CONFIRM
|
|
||||||
!insertmacro MUI_UNPAGE_INSTFILES
|
|
||||||
;************************************************************************************
|
|
||||||
;Languages
|
|
||||||
!insertmacro MUI_LANGUAGE "English"
|
|
||||||
;************************************************************************************
|
|
||||||
;Language Strings
|
|
||||||
LangString DESC_AEGISUB_GROUP ${LANG_ENGLISH} \
|
|
||||||
"Aegisub ${AEGISUB_VERSION} Program files."
|
|
||||||
LangString DESC_AVISYNTH_GROUP ${LANG_ENGLISH} \
|
|
||||||
"Download the avisynth installer or source."
|
|
||||||
LangString DESC_AEGISUB_SECTION ${LANG_ENGLISH} \
|
|
||||||
"${NAME} main program files."
|
|
||||||
LangString DESC_AEGISUB_SOURCE_SECTION ${LANG_ENGLISH} \
|
|
||||||
"${NAME} source files."
|
|
||||||
LangString DESC_AEGISUB_HELP_SECTION ${LANG_ENGLISH} \
|
|
||||||
"Aegisub help files."
|
|
||||||
LangString DESC_VSFILTER_SECTION ${LANG_ENGLISH} \
|
|
||||||
"Places a copy of VSFilter 2.37 in the Aegisub directory."
|
|
||||||
LangString DESC_AVISYNTH_INSTALLER_SECTION ${LANG_ENGLISH} \
|
|
||||||
"Downloads the Avisynth 2.5.6a installer and executes it."
|
|
||||||
LangString DESC_AVISYNTH_SOURCE_SECTION ${LANG_ENGLISH} \
|
|
||||||
"Downloads the Avisynth 2.5.6a source and places it on the desktop."
|
|
||||||
;************************************************************************************
|
|
||||||
reservefile "${NSISDIR}\Plugins\Userinfo.dll"
|
|
||||||
reservefile "${NSISDIR}\Plugins\Nsisdl.dll"
|
|
||||||
|
|
||||||
!macro checkrightspoweruser
|
|
||||||
UserInfo::GetAccountType
|
|
||||||
pop $R0
|
|
||||||
|
|
||||||
${if} $R0 != "Admin"
|
|
||||||
${andif} $R0 != "Power"
|
|
||||||
|
|
||||||
MessageBox MB_OK|MB_ICONSTOP "This program can only be run by power users or higher." IDOK
|
|
||||||
abort
|
|
||||||
${endif}
|
|
||||||
!macroend
|
|
||||||
|
|
||||||
!macro checkrightsnormaluser
|
|
||||||
UserInfo::GetAccountType
|
|
||||||
pop $R0
|
|
||||||
|
|
||||||
${if} $R0 != "Admin"
|
|
||||||
${andif} $R0 != "Power"
|
|
||||||
${andif} $R0 != "Normal"
|
|
||||||
|
|
||||||
MessageBox MB_OK|MB_ICONSTOP "This program can only be run by normal users or higher." IDOK
|
|
||||||
abort
|
|
||||||
${endif}
|
|
||||||
!macroend
|
|
||||||
;************************************************************************************
|
|
||||||
;Design / Text
|
|
||||||
XPStyle on
|
|
||||||
BrandingText "${NAME} | ${VERSIONDATE}"
|
|
||||||
ShowInstDetails hide
|
|
||||||
;************************************************************************************
|
|
||||||
;Functions
|
|
||||||
;************************************************************************************
|
|
||||||
Function .onInit
|
|
||||||
Call GetWindowsVersion
|
|
||||||
Pop $R0
|
|
||||||
|
|
||||||
${if} $R0 != "2000"
|
|
||||||
${andif} $R0 != "XP"
|
|
||||||
${andif} $R0 != "2003"
|
|
||||||
MessageBox MB_OK|MB_ICONSTOP "Only windows 2000/XP/2003 is supported by this installer."
|
|
||||||
quit
|
|
||||||
${endif}
|
|
||||||
!insertmacro checkrightspoweruser
|
|
||||||
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "aegisinstaller") i .r1 ?e'
|
|
||||||
Pop $R0
|
|
||||||
${unless} $R0 = 0
|
|
||||||
MessageBox MB_OK|MB_ICONEXCLAMATION "Installer already running."
|
|
||||||
Abort
|
|
||||||
${endunless}
|
|
||||||
|
|
||||||
ClearErrors
|
|
||||||
ReadRegStr $prevver HKLM "Software\Aegisub\info" "InstVer"
|
|
||||||
IfErrors lbl_new_installation
|
|
||||||
ReadRegStr $prevdir HKLM "Software\Aegisub\info" "InstallDir"
|
|
||||||
ReadRegStr $prevname HKLM "Software\Aegisub\info" "InstName"
|
|
||||||
|
|
||||||
${if} $prevdir != ""
|
|
||||||
StrCpy $INSTDIR $prevdir
|
|
||||||
${endif}
|
|
||||||
|
|
||||||
MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION "Previous Aegisub install detected (Version $prevver). Uninstall? (No will overwrite existing files, Cancel will exit.)" IDYES lbl_uninstall_previous IDNO lbl_new_installation
|
|
||||||
quit
|
|
||||||
lbl_uninstall_previous:
|
|
||||||
CopyFiles "$prevdir\uninstall.exe" $TEMP
|
|
||||||
ExecWait '"$TEMP\uninstall.exe" _?=$prevdir'
|
|
||||||
Delete "$TEMP\uninstall.exe"
|
|
||||||
lbl_new_installation:
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
Function un.onInit
|
|
||||||
!insertmacro checkrightspoweruser
|
|
||||||
FunctionEnd
|
|
||||||
|
|
||||||
;************************************************************************************
|
|
||||||
;Installer Sections
|
|
||||||
;************************************************************************************
|
|
||||||
SectionGroup /e "!Aegisub Program Files" AEGISUB_GROUP
|
|
||||||
|
|
||||||
Section "Aegisub" AEGISUB_SECTION
|
|
||||||
SectionIn RO
|
|
||||||
|
|
||||||
SetOutPath $INSTDIR
|
|
||||||
|
|
||||||
File "Aegisub.exe"
|
|
||||||
File "Aegisub Site.url"
|
|
||||||
File "changelog.txt"
|
|
||||||
File /r "locale"
|
|
||||||
|
|
||||||
File "msvcp71.dll"
|
|
||||||
File "msvcr71.dll"
|
|
||||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
|
||||||
|
|
||||||
File /r "automation"
|
|
||||||
|
|
||||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN 1
|
|
||||||
SetOutPath $smprograms\$startmenudir
|
|
||||||
CreateShortCut "$smprograms\$startmenudir\Aegisub.lnk" "$INSTDIR\aegisub.exe"
|
|
||||||
CreateShortCut "$smprograms\$startmenudir\Aegisub Site.lnk" "$INSTDIR\Aegisub Site.url"
|
|
||||||
CreateShortCut "$smprograms\$startmenudir\Changelog.lnk" "$INSTDIR\changelog.txt"
|
|
||||||
CreateShortCut "$smprograms\$startmenudir\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
|
||||||
!insertmacro MUI_STARTMENU_WRITE_END
|
|
||||||
|
|
||||||
WriteRegDWORD HKLM "Software\Aegisub" "aegisub" "1"
|
|
||||||
WriteRegStr HKLM "Software\Aegisub\info" "InstName" "${NAME}"
|
|
||||||
WriteRegStr HKLM "Software\Aegisub\info" "InstVer" "${AEGISUB_VERSION}"
|
|
||||||
WriteRegStr HKLM "Software\Aegisub\info" "InstallDir" "$INSTDIR"
|
|
||||||
WriteRegStr HKLM "Software\Aegisub\info" "StartMenuDir" "$startmenudir"
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "DisplayName" "${DISPLAYNAME} (Remove Only)"
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "DisplayIcon" "$INSTDIR\aegisub.exe,0"
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "InstallLocation" "$INSTDIR"
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "UninstallString" "$INSTDIR\Uninstall.exe"
|
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "NoModify" "1"
|
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "NoRepair" "1"
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
Section "Aegisub Help" AEGISUB_HELP_SECTION
|
|
||||||
SetOutPath $INSTDIR
|
|
||||||
File "Aegisub.chm"
|
|
||||||
WriteRegDWORD HKLM "Software\Aegisub" "aegisub_help" "1"
|
|
||||||
|
|
||||||
!insertmacro MUI_STARTMENU_WRITE_BEGIN 1
|
|
||||||
SetOutPath $smprograms\$startmenudir
|
|
||||||
CreateShortCut "$smprograms\$startmenudir\Aegisub Help.lnk" "$INSTDIR\aegisub.chm"
|
|
||||||
!insertmacro MUI_STARTMENU_WRITE_END
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
Section "VSFilter 2.37" VSFILTER_SECTION
|
|
||||||
SetoutPath $INSTDIR
|
|
||||||
File "vsfilter.dll"
|
|
||||||
WriteRegDWORD HKLM "Software\Aegisub" "aegisub_vsfilter" "1"
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
;Section /o "Aegisub Source" AEGISUB_SOURCE_SECTION
|
|
||||||
;SetoutPath $INSTDIR
|
|
||||||
; File /r "source"
|
|
||||||
; WriteRegDWORD HKLM "Software\Aegisub" "aegisub_source" "1"
|
|
||||||
;SectionEnd
|
|
||||||
SectionGroupEnd
|
|
||||||
|
|
||||||
SectionGroup /e "Avisynth" AVISYNTH_GROUP
|
|
||||||
|
|
||||||
Section /o "Avisynth 2.5.6a" AVISYNTH_INSTALLER_SECTION
|
|
||||||
SetOutPath $INSTDIR
|
|
||||||
|
|
||||||
IfFileExists "$DESKTOP\${AVISYNTH_INSTALLER}" lbl_avisynth_end
|
|
||||||
|
|
||||||
ReadRegStr $R2 HKLM "Software\Avisynth" ""
|
|
||||||
${if} $R2 != ""
|
|
||||||
MessageBox MB_ICONQUESTION|MB_YESNO "Avisynth is already installed. Would you like to install over the current version? (required if your version is older than 2.5.3)" IDNO lbl_avisynth_end
|
|
||||||
${endif}
|
|
||||||
|
|
||||||
GetTempFilename $R1 $TEMP
|
|
||||||
|
|
||||||
lbl_avisynth_dl:
|
|
||||||
Delete $R1
|
|
||||||
NSISdl::download /TRANSLATE "Downloading ${AVISYNTH_INSTALLER}" "Connecting..." "second" "minute" "hour" "s" "%dkB (%d%%) of %dkB @ %d.%01dkB/s" "(%d %s%s remaining)" "${AVISYNTH_INSTALLER_SERVER}/${AVISYNTH_INSTALLER}" "$R1"
|
|
||||||
Pop $R0 ;Get the return value
|
|
||||||
StrCmp $R0 "success" lbl_avisynth_success lbl_avisynth_fail
|
|
||||||
lbl_avisynth_fail:
|
|
||||||
MessageBox MB_ABORTRETRYIGNORE "Download failed: $R0" IDIGNORE lbl_avisynth_ignore IDRETRY lbl_avisynth_dl
|
|
||||||
goto lbl_avisynth_abort
|
|
||||||
lbl_avisynth_success:
|
|
||||||
Rename $R1 "$DESKTOP\${AVISYNTH_INSTALLER}"
|
|
||||||
|
|
||||||
lbl_avisynth_install:
|
|
||||||
ExecWait "$DESKTOP\${AVISYNTH_INSTALLER}"
|
|
||||||
|
|
||||||
ReadRegStr $R2 HKLM "Software\Avisynth" ""
|
|
||||||
${if} $R2 == ""
|
|
||||||
MessageBox MB_ABORTRETRYIGNORE "Avisynth install either failed or was cancelled." IDRETRY lbl_avisynth_install IDIGNORE lbl_avisynth_end
|
|
||||||
goto lbl_avisynth_abort
|
|
||||||
${endif}
|
|
||||||
|
|
||||||
goto lbl_avisynth_end
|
|
||||||
|
|
||||||
lbl_avisynth_ignore:
|
|
||||||
Delete $R1
|
|
||||||
goto lbl_avisynth_end
|
|
||||||
|
|
||||||
lbl_avisynth_abort:
|
|
||||||
Delete $R1
|
|
||||||
quit
|
|
||||||
|
|
||||||
lbl_avisynth_end:
|
|
||||||
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
;Section /o "Avisynth 2.5.6a Source" AVISYNTH_SOURCE_SECTION
|
|
||||||
;SetOutPath $INSTDIR
|
|
||||||
;
|
|
||||||
; IfFileExists "$DESKTOP\${AVISYNTH_SOURCE}" lbl_avisynth_source_end
|
|
||||||
;
|
|
||||||
; GetTempFilename $R1 $TEMP
|
|
||||||
;
|
|
||||||
; lbl_avisynth_source_dl:
|
|
||||||
; Delete $R1
|
|
||||||
; NSISdl::download /TRANSLATE "Downloading ${AVISYNTH_SOURCE}" "Connecting..." "second" "minute" "hour" "s" "%dkB (%d%%) of %dkB @ %d.%01dkB/s" "(%d %s%s remaining)" "${AVISYNTH_SOURCE_SERVER}/avisynth_src.rar" "$R1"
|
|
||||||
; Pop $R0 ;Get the return value
|
|
||||||
; StrCmp $R0 "success" lbl_avisynth_source_success lbl_avisynth_source_fail
|
|
||||||
; lbl_avisynth_source_fail:
|
|
||||||
; MessageBox MB_ABORTRETRYIGNORE "Download failed: $R0" IDIGNORE lbl_avisynth_source_ignore IDRETRY lbl_avisynth_source_dl
|
|
||||||
; goto lbl_avisynth_source_abort
|
|
||||||
; lbl_avisynth_source_success:
|
|
||||||
; Rename $R1 "$DESKTOP\${AVISYNTH_SOURCE}"
|
|
||||||
; goto lbl_avisynth_source_end
|
|
||||||
;
|
|
||||||
; lbl_avisynth_source_ignore:
|
|
||||||
; Delete $R1
|
|
||||||
; goto lbl_avisynth_source_end
|
|
||||||
;
|
|
||||||
; lbl_avisynth_source_abort:
|
|
||||||
; Delete $R1
|
|
||||||
; quit
|
|
||||||
;
|
|
||||||
; lbl_avisynth_source_end:
|
|
||||||
;SectionEnd
|
|
||||||
|
|
||||||
SectionGroupEnd
|
|
||||||
;************************************************************************************
|
|
||||||
Section "Uninstall"
|
|
||||||
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "aegisun") i .r1 ?e'
|
|
||||||
Pop $R0
|
|
||||||
${unless} $R0 = 0
|
|
||||||
MessageBox MB_OK|MB_ICONEXCLAMATION "Uninstaller already running."
|
|
||||||
Abort
|
|
||||||
${endunless}
|
|
||||||
|
|
||||||
!insertmacro checkrightspoweruser
|
|
||||||
|
|
||||||
SetOutPath $INSTDIR
|
|
||||||
Delete "$INSTDIR\Aegisub.exe"
|
|
||||||
Delete "$INSTDIR\Aegisub Site.url"
|
|
||||||
Delete "$INSTDIR\changelog.txt"
|
|
||||||
Delete "$INSTDIR\uninstall.exe"
|
|
||||||
Delete "$INSTDIR\msvcp71.dll"
|
|
||||||
Delete "$INSTDIR\msvcr71.dll"
|
|
||||||
|
|
||||||
RMDir /r "$INSTDIR\locale"
|
|
||||||
RMDir "$INSTDIR\autosave"
|
|
||||||
RMDir "$INSTDIR\autoback"
|
|
||||||
|
|
||||||
;automation
|
|
||||||
Delete "$INSTDIR\automation\automation-lua.txt"
|
|
||||||
|
|
||||||
;include
|
|
||||||
;Delete "$INSTDIR\automation\include\readme.txt"
|
|
||||||
;Delete "$INSTDIR\automation\include\utils.lua"
|
|
||||||
;Delete "$INSTDIR\automation\include\karaskel.lua"
|
|
||||||
;Delete "$INSTDIR\automation\include\karaskel-adv.lua"
|
|
||||||
RMDir /r "$INSTDIR\automation\include"
|
|
||||||
|
|
||||||
;factorybrew
|
|
||||||
RMDir /r "$INSTDIR\automation\factorybrew"
|
|
||||||
|
|
||||||
;demos
|
|
||||||
RMDir /r "$INSTDIR\automation\demos"
|
|
||||||
|
|
||||||
RMDir "$INSTDIR\automation"
|
|
||||||
|
|
||||||
;automation end
|
|
||||||
|
|
||||||
IfFileExists "$INSTDIR\catalog\*" "" lbl_empty_catalog
|
|
||||||
MessageBox MB_YESNO|MB_ICONQUESTION "Would you like to keep your styles catalog?" IDYES lbl_empty_catalog
|
|
||||||
Delete "$INSTDIR\catalog\*"
|
|
||||||
lbl_empty_catalog:
|
|
||||||
RMDir "$INSTDIR\catalog"
|
|
||||||
|
|
||||||
ReadRegDWORD $vsfilter_installed HKLM "Software\Aegisub" "aegisub_vsfilter"
|
|
||||||
ReadRegDWORD $aegisub_source_installed HKLM "Software\Aegisub" "aegisub_source"
|
|
||||||
ReadRegDWORD $help_installed HKLM "Software\Aegisub" "aegisub_help"
|
|
||||||
ReadRegStr $startmenudir HKLM "Software\Aegisub\info" "StartMenuDir"
|
|
||||||
|
|
||||||
${if} $aegisub_source_installed = 1
|
|
||||||
MessageBox MB_YESNO|MB_ICONQUESTION "Would you like to keep the source directory?" IDYES lbl_keep_aegisub_source
|
|
||||||
RMDir /r "$INSTDIR\source"
|
|
||||||
lbl_keep_aegisub_source:
|
|
||||||
${endif}
|
|
||||||
|
|
||||||
${if} $vsfilter_installed = 1
|
|
||||||
Delete "$INSTDIR\vsfilter.dll"
|
|
||||||
${endif}
|
|
||||||
|
|
||||||
${if} $help_installed = 1
|
|
||||||
Delete "$INSTDIR\aegisub.chm"
|
|
||||||
Delete "$SMPROGRAMS\$startmenudir\Aegisub Help.lnk"
|
|
||||||
${endif}
|
|
||||||
|
|
||||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}"
|
|
||||||
DeleteRegKey HKLM "Software\Aegisub"
|
|
||||||
|
|
||||||
;backup config
|
|
||||||
IfFileExists "$INSTDIR\config.dat" "" lbl_no_config_end
|
|
||||||
|
|
||||||
MessageBox MB_YESNO "Would you like to save your Aegisub configuration?" IDYES lbl_no_config_end
|
|
||||||
Delete "$INSTDIR\config.dat"
|
|
||||||
lbl_no_config_end:
|
|
||||||
|
|
||||||
${unless} $startmenudir == ""
|
|
||||||
Delete "$SMPROGRAMS\$startmenudir\Aegisub.lnk"
|
|
||||||
Delete "$SMPROGRAMS\$startmenudir\Uninstall.lnk"
|
|
||||||
Delete "$SMPROGRAMS\$startmenudir\Aegisub Site.lnk"
|
|
||||||
Delete "$SMPROGRAMS\$startmenudir\Changelog.lnk"
|
|
||||||
RMDir "$SMPROGRAMS\$startmenudir"
|
|
||||||
${endunless}
|
|
||||||
|
|
||||||
SetOutPath $TEMP
|
|
||||||
RMDir "$INSTDIR"
|
|
||||||
SectionEnd
|
|
||||||
;************************************************************************************
|
|
||||||
Function GetWindowsVersion
|
|
||||||
Push $R0
|
|
||||||
Push $R1
|
|
||||||
|
|
||||||
ClearErrors
|
|
||||||
|
|
||||||
ReadRegStr $R0 HKLM \
|
|
||||||
"SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
|
|
||||||
|
|
||||||
IfErrors 0 lbl_winnt
|
|
||||||
|
|
||||||
; we are not NT
|
|
||||||
ReadRegStr $R0 HKLM \
|
|
||||||
"SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
|
|
||||||
|
|
||||||
StrCpy $R1 $R0 1
|
|
||||||
StrCmp $R1 '4' 0 lbl_error
|
|
||||||
|
|
||||||
StrCpy $R1 $R0 3
|
|
||||||
|
|
||||||
StrCmp $R1 '4.0' lbl_win32_95
|
|
||||||
StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
|
|
||||||
|
|
||||||
lbl_win32_95:
|
|
||||||
StrCpy $R0 '95'
|
|
||||||
Goto lbl_done
|
|
||||||
|
|
||||||
lbl_win32_98:
|
|
||||||
StrCpy $R0 '98'
|
|
||||||
Goto lbl_done
|
|
||||||
|
|
||||||
lbl_win32_ME:
|
|
||||||
StrCpy $R0 'ME'
|
|
||||||
Goto lbl_done
|
|
||||||
|
|
||||||
lbl_winnt:
|
|
||||||
|
|
||||||
StrCpy $R1 $R0 1
|
|
||||||
|
|
||||||
StrCmp $R1 '3' lbl_winnt_x
|
|
||||||
StrCmp $R1 '4' lbl_winnt_x
|
|
||||||
|
|
||||||
StrCpy $R1 $R0 3
|
|
||||||
|
|
||||||
StrCmp $R1 '5.0' lbl_winnt_2000
|
|
||||||
StrCmp $R1 '5.1' lbl_winnt_XP
|
|
||||||
StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
|
|
||||||
|
|
||||||
lbl_winnt_x:
|
|
||||||
StrCpy $R0 "NT $R0" 6
|
|
||||||
Goto lbl_done
|
|
||||||
|
|
||||||
lbl_winnt_2000:
|
|
||||||
Strcpy $R0 '2000'
|
|
||||||
Goto lbl_done
|
|
||||||
|
|
||||||
lbl_winnt_XP:
|
|
||||||
Strcpy $R0 'XP'
|
|
||||||
Goto lbl_done
|
|
||||||
|
|
||||||
lbl_winnt_2003:
|
|
||||||
Strcpy $R0 '2003'
|
|
||||||
Goto lbl_done
|
|
||||||
|
|
||||||
lbl_error:
|
|
||||||
Strcpy $R0 ''
|
|
||||||
lbl_done:
|
|
||||||
|
|
||||||
Pop $R1
|
|
||||||
Exch $R0
|
|
||||||
|
|
||||||
FunctionEnd
|
|
||||||
;************************************************************************************
|
|
||||||
;Descriptions
|
|
||||||
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${AEGISUB_GROUP} $(DESC_AEGISUB_GROUP)
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${AVISYNTH_GROUP} $(DESC_AVISYNTH_GROUP)
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${AEGISUB_SECTION} $(DESC_AEGISUB_SECTION)
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${AEGISUB_SOURCE_SECTION} $(DESC_AEGISUB_SOURCE_SECTION)
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${AEGISUB_HELP_SECTION} $(DESC_AEGISUB_HELP_SECTION)
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${VSFILTER_SECTION} $(DESC_VSFILTER_SECTION)
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${AVISYNTH_INSTALLER_SECTION} $(DESC_AVISYNTH_INSTALLER_SECTION)
|
|
||||||
!insertmacro MUI_DESCRIPTION_TEXT ${AVISYNTH_SOURCE_SECTION} $(DESC_AVISYNTH_SOURCE_SECTION)
|
|
||||||
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
|
||||||
;*****************EOF*********EOF***********EOF**************EOF*********EOF**********
|
|
Loading…
Reference in New Issue