Files
MagicSetEditor2/tools/msw-installer/installer.iss
T
twanvl df9c539983 version bump to 2.0.0
git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@1635 0fc631ac-6414-0410-93d0-97cfa31319b6
2011-01-22 17:54:34 +00:00

283 lines
17 KiB
Plaintext

;//+----------------------------------------------------------------------------+
;//| Description: Magic Set Editor - Program to make Magic (tm) cards |
;//| Copyright: (C) 2001 - 2011 Twan van Laarhoven and "coppro" |
;//| License: GNU General Public License 2 or later (see file COPYING) |
;//+----------------------------------------------------------------------------+
; Note: This installer requires the Inno Setup Preprocessor add on
#ifndef INSTALL_ALL
#error installer.iss must not be used directly, use either installer-large or installer-small
#endif
#define Debug
[setup]
AppName = Magic Set Editor 2
AppVerName = Magic Set Editor 2.0.0
AppCopyright = Copyright © 2001-2011 Twan van Laarhoven and "coppro"
DefaultDirName = {pf}\Magic Set Editor 2
DisableStartupPrompt = 1
DisableProgramGroupPage = 1
AllowNoIcons = 0
ChangesAssociations = 1
WizardImageBackColor = $FFF7F0
BackColor = $FFF7F0
BackColor2 = $FFF7F0
;LicenseFile = COPYING
OutputDir = tools/msw-installer/
WizardImageFile = tools/msw-installer/WizModernImage.bmp
WizardSmallImageFile = tools/msw-installer/WizModernSmallImage.bmp
SourceDir = ../..
PrivilegesRequired = none
; Filename of the installer
#define INSTALLER_DATE GetDateTimeString('yyyy-mm-dd','-',':')
#if INSTALL_ALL
#define INSTALLER_SUFFIX '-full'
#else
#define INSTALLER_SUFFIX '-reduced'
#endif
#emit 'OutputBaseFilename = mse2-' + INSTALLER_DATE + INSTALLER_SUFFIX
[Types]
Name: "full"; Description: "Full installation"
Name: "magic"; Description: "Only Magic"
Name: "vs"; Description: "Only VS System"
Name: "yugioh"; Description: "Only Yu-Gi-Oh!"
Name: "custom"; Description: "Custom installation"; Flags: iscustom
[Components]
; Note: The following line does nothing other than provide a visual cue
; to the user that the program files are installed no matter what.
Name: "prog"; Description: "MSE Program Files"; Flags: fixed; Types: full custom magic vs yugioh
Name: "prog/en"; Description: "English translation"; Flags: fixed; Types: full custom magic vs yugioh
#if INSTALL_ALL && 0
; there are no good translations
Name: "prog/de"; Description: "German translation"; Types: full
Name: "prog/fr"; Description: "French translation"; Types: full
Name: "prog/es"; Description: "Spanish translation"; Types: full
Name: "prog/it"; Description: "Italian translation"; Types: full
Name: "prog/cht"; Description: "Chinese traditional translation"; Types: full
Name: "prog/chs"; Description: "Chinese simplified translation"; Types: full
#endif
Name: "style"; Description: "Templates"; Types: full custom magic vs yugioh
Name: "style/mtg"; Description: "Magic the Gathering"; Types: full custom magic
Name: "style/mtg/new"; Description: "Modern style, after 8th edition"; Types: full custom magic
Name: "style/mtg/new/base"; Description: "Normal cards"; Types: full custom magic
Name: "style/mtg/new/flip"; Description: "Flip cards"; Types: full custom magic
Name: "style/mtg/new/split"; Description: "Split cards"; Types: full custom magic
#if INSTALL_ALL
Name: "style/mtg/new/promo"; Description: "Promotional cards"; Types: full custom magic
Name: "style/mtg/new/extart"; Description: "Extended art style"; Types: full custom magic
#endif
Name: "style/mtg/new/textless"; Description: "Textless cards"; Types: full custom magic
#if INSTALL_ALL
Name: "style/mtg/new/token"; Description: "Tokens"; Types: full custom magic
Name: "style/mtg/new/planeshift"; Description: "Planeshifted"; Types: full custom magic
Name: "style/mtg/new/walker"; Description: "Planeswalkers"; Types: full custom magic
Name: "style/mtg/new/leveler"; Description: "Levelers"; Types: full custom magic
#endif
Name: "style/mtg/old"; Description: "Old style, before 8th edition"; Types: full custom magic
Name: "style/mtg/old/base"; Description: "Normal cards"; Types: full custom magic
Name: "style/mtg/old/split"; Description: "Split cards"; Types: full custom magic
#if INSTALL_ALL
Name: "style/mtg/old/token"; Description: "Tokens"; Types: full custom magic
Name: "style/mtg/fpm"; Description: "Fire Penguin Master (FPM)"; Types: full custom magic
Name: "style/mtg/fpm/base"; Description: "Normal cards"; Types: full custom magic
Name: "style/mtg/fpm/flip"; Description: "Flip cards"; Types: full custom magic
Name: "style/mtg/fpm/split"; Description: "Split cards"; Types: full custom magic
Name: "style/mtg/fpm/promo"; Description: "Promotional cards"; Types: full custom magic
Name: "style/mtg/fpm/token"; Description: "Tokens"; Types: full custom magic
Name: "style/mtg/future"; Description: "Future sight"; Types: full custom magic
Name: "style/mtg/future/base"; Description: "Normal cards"; Types: full custom magic
Name: "style/mtg/future/split"; Description: "Split cards"; Types: full custom magic
Name: "style/mtg/future/textless"; Description: "Textless cards"; Types: full custom magic
Name: "style/mtg/counter"; Description: "Counters"; Types: full custom magic
Name: "style/mtg/vanguard"; Description: "Vanguard"; Types: full custom magic
#endif
Name: "style/vs"; Description: "VS System"; Types: full custom vs
Name: "style/vs/std"; Description: "Standard style"; Types: full custom vs
#if INSTALL_ALL
Name: "style/vs/ext"; Description: "Extended art promo"; Types: full custom vs
Name: "style/vs/hstd"; Description: "Hellboy style"; Types: full custom vs
Name: "style/vs/hext"; Description: "Hellboy extended art"; Types: full custom vs
Name: "style/vs/alter"; Description: "Alter Ego"; Types: full custom vs
Name: "style/vs/new"; Description: "New style"; Types: full custom vs
#endif
Name: "style/yugioh"; Description: "Yu-Gi-Oh!"; Types: full custom yugioh
; (indented lines are full installer only)
[Files]
; ------------------------------------------------------------------------- : Program files
; program
Source: "build/Release Unicode/mse.exe"; DestDir: "{app}"; Components: prog; Flags: replacesameversion
Source: "build/Release Unicode/mse.com"; DestDir: "{app}"; Components: prog; Flags: replacesameversion
; locales: en
Source: "data/en.mse-locale/*"; DestDir: "{app}/data/en.mse-locale/"; Components: prog/en; Flags: recursesubdirs
#if INSTALL_ALL && 0
Source: "data/de.mse-locale/*"; DestDir: "{app}/data/de.mse-locale/"; Components: prog/de; Flags: recursesubdirs
Source: "data/fr.mse-locale/*"; DestDir: "{app}/data/fr.mse-locale/"; Components: prog/fr; Flags: recursesubdirs
Source: "data/it.mse-locale/*"; DestDir: "{app}/data/it.mse-locale/"; Components: prog/it; Flags: recursesubdirs
Source: "data/es.mse-locale/*"; DestDir: "{app}/data/es.mse-locale/"; Components: prog/es; Flags: recursesubdirs
Source: "data/cht.mse-locale/*"; DestDir: "{app}/data/cht.mse-locale/"; Components: prog/cht; Flags: recursesubdirs
Source: "data/chs.mse-locale/*"; DestDir: "{app}/data/chs.mse-locale/"; Components: prog/chs; Flags: recursesubdirs
;Source: "data/jp.mse-locale/*"; DestDir: "{app}/data/jp.mse-locale/"; Components: prog/jp; Flags: recursesubdirs
#endif
; dictionaries: en
Source: "data/dictionaries/en_US.dic"; DestDir: "{app}/data/dictionaries/"; Components: prog/en
Source: "data/dictionaries/en_US.aff"; DestDir: "{app}/data/dictionaries/"; Components: prog/en
; ------------------------------------------------------------------------- : Style packages
; ----------------------------- : Utilities
; Declare a (style) package that must be installed
#define Package(large_only, base,name,type,component) \
INSTALL_ALL || !large_only ? \
'Source: "data/' + base + (name == '' ? '' : '-'+name) + '.mse-' + type + '/*"; ' + \
'DestDir: "{app}/data/' + base + (name == '' ? '' : '-'+name) + '.mse-' + type + '/"; ' + \
'Components: style/' + component + ';' + \
'Flags: recursesubdirs' \
: ''
; Declare a font that must be installed
#define Font(large_only, file,name,component) \
INSTALL_ALL || !large_only ? \
'Source: "tools/msw-installer/font/'+file+'";' + \
'DestDir: "{fonts}";' + \
'FontInstall: "'+name+'";' + \
'Components: style/'+component+';' + \
'Flags: onlyifdoesntexist uninsneveruninstall' \
: ''
; Declare a font that must be installed, but not registered
#define FontNoReg(large_only, file,name,component) \
INSTALL_ALL || !large_only ? \
'Source: "tools/msw-installer/font/'+file+'";' + \
'DestDir: "{fonts}";' + \
'Components: style/'+component+';' + \
'Flags: onlyifdoesntexist uninsneveruninstall' \
: ''
; ----------------------------- : Magic
#emit Package(0, 'magic', '', 'game', 'mtg')
#emit Package(0, 'magic', 'blends', 'include', 'mtg')
#emit Package(0, 'magic', 'default-image', 'include', 'mtg')
#emit Package(0, 'magic', 'watermarks', 'include', 'mtg')
#emit Package(0, 'magic', 'future-common', 'include', 'mtg')
#emit Package(0, 'magic', 'spoiler', 'export-template', 'mtg')
#emit Package(0, 'magic', 'forum', 'export-template', 'mtg')
#emit Package(0, 'magic', 'mana-small', 'symbol-font', 'mtg')
#emit Package(0, 'magic', 'mana-large', 'symbol-font', 'mtg')
#emit Package(1, 'magic', 'mana-beveled', 'symbol-font', 'mtg/fpm')
#emit Package(1, 'magic', 'mana-future', 'symbol-font', 'mtg/future')
#emit Package(0, 'magic', 'new', 'style', 'mtg/new/base')
#emit Package(0, 'magic', 'new-flip', 'style', 'mtg/new/flip')
#emit Package(0, 'magic', 'new-split', 'style', 'mtg/new/split')
#emit Package(1, 'magic', 'new-promo', 'style', 'mtg/new/promo')
#emit Package(1, 'magic', 'extended-art', 'style', 'mtg/new/extart')
#emit Package(0, 'magic', 'textless', 'style', 'mtg/new/textless')
#emit Package(1, 'magic', 'new-token', 'style', 'mtg/new/token')
#emit Package(1, 'magic', 'embossedletters', 'symbol-font', 'mtg/new/token')
#emit Package(1, 'magic', 'planeshifted', 'style', 'mtg/new/planeshift')
#emit Package(1, 'magic', 'new-planeswalker','style', 'mtg/new/walker')
#emit Package(1, 'magic', 'new-leveler', 'style', 'mtg/new/leveler')
#emit Package(0, 'magic', 'old', 'style', 'mtg/old/base')
;#emit Package(0, 'magic', 'old-flip', 'style', 'mtg/old/flip')
#emit Package(0, 'magic', 'old-split', 'style', 'mtg/old/split')
#emit Package(1, 'magic', 'old-token', 'style', 'mtg/old/token')
#define fpm 'firepenguinmaster'
#emit Package(1, 'magic', fpm, 'style', 'mtg/fpm/base')
#emit Package(1, 'magic', fpm+'-flip', 'style', 'mtg/fpm/flip')
#emit Package(1, 'magic', fpm+'split', 'style', 'mtg/fpm/split')
#emit Package(1, 'magic', fpm+'promo', 'style', 'mtg/fpm/promo')
#emit Package(1, 'magic', fpm+'tokens', 'style', 'mtg/fpm/token')
#emit Package(1, 'magic', 'future', 'style', 'mtg/future/base')
#emit Package(1, 'magic', 'future-split', 'style', 'mtg/future/split')
#emit Package(1, 'magic', 'future-textless', 'style', 'mtg/future/textless')
#emit Package(1, 'magic', 'counter', 'style', 'mtg/counter')
#emit Font (0, 'ModMatrix.ttf', 'ModMatrix', 'mtg')
#emit Font (0, 'matrixb.ttf', 'Matrix', 'mtg style/yugioh')
#emit Font (0, 'matrixbsc.ttf', 'MatrixBoldSmallCaps', 'mtg')
#emit Font (0, 'magmed.ttf', 'MagicMedieval', 'mtg/old')
#emit Font (0, 'mplantin.ttf', 'MPlantin', 'mtg')
#emit Font (0, 'mplantinit.ttf', 'MPlantin-Italic', 'mtg')
#emit Package(1, 'vanguard', '', 'game', 'mtg/vanguard')
#emit Package(1, 'vanguard', 'standard', 'style', 'mtg/vanguard')
; ----------------------------- : VS System
#emit Package(0, 'vs', '', 'game', 'vs')
#emit Package(0, 'vs', 'common', 'include', 'vs')
#emit Package(0, 'vs', 'standard-arrow', 'symbol-font', 'vs')
#emit Package(0, 'vs', 'standard-official','symbol-font', 'vs')
#emit Package(0, 'vs', 'spoiler', 'export-template', 'vs')
#emit Package(0, 'vs', 'standard', 'style', 'vs/std')
#emit Package(1, 'vs', 'extended-art', 'style', 'vs/ext')
#emit Package(1, 'vs', 'hellboy', 'style', 'vs/hstd')
#emit Package(1, 'vs', 'extended-hellboy', 'style', 'vs/hext')
#emit Package(1, 'vs', 'alter', 'style', 'vs/alter')
#emit Package(1, 'vs', 'new', 'style', 'vs/new')
#emit Package(1, 'vs', 'standard-new', 'symbol-font', 'vs/new')
#emit Font (0, 'BadhouseBoldNumbers.ttf', 'BadhouseBoldNumbers', 'vs')
#emit Font (0, 'eurosti.ttf', 'Eurostile', 'vs')
#emit Font (0, 'eurostile.oblique.ttf', 'EurostileObl-Normal', 'vs')
#emit Font (0, 'percexptm.ttf', 'Percolator Expert TM', 'vs')
#emit Font (1, 'GILC____.TTF', 'Gill Sans MT Condensed', 'vs/new')
; ----------------------------- : YuGiOh
#emit Package(0, 'yugioh', '', 'game', 'yugioh')
#emit Package(0, 'yugioh', 'standard-levels', 'symbol-font', 'yugioh')
#emit Package(0, 'yugioh', 'text-replacements', 'symbol-font', 'yugioh')
#emit Package(0, 'yugioh', 'standard', 'style', 'yugioh')
#emit FontNoReg (0, 'MatrixRegularSmallCaps.pfm', 'MatrixRegularSmallCaps', 'yugioh')
#emit FontNoReg (0, 'MatrixRegularSmallCaps.pfb', 'MatrixRegularSmallCaps', 'yugioh')
#emit Font (0, 'pala.ttf', 'Palatino Linotype', 'yugioh')
#emit Font (0, 'palab.ttf', 'Palatino Linotype Bold', 'yugioh')
#emit Font (0, 'MatriBoo.ttf', 'MatrixBook', 'yugioh')
; ------------------------------------------------------------------------- : Rest of installer
[Icons]
Name: "{commonprograms}\Magic Set Editor"; Filename: "{app}\mse.exe"; WorkingDir: "{app}"
[Registry]
#pragma parseroption -p-
#define Association(ext, name, icon) \
'Root: HKCR; Subkey: "'+ext+'"; ValueType: string; ValueName: ""; ValueData: "MagicSetEditor2'+name+'"; Flags: uninsdeletevalue;\n' + \
'Root: HKCR; Subkey: "MagicSetEditor2'+name+'"; ValueType: string; ValueName: ""; ValueData: "Magic Set Editor '+name+'"; Flags: uninsdeletekey;\n' + \
'Root: HKCR; Subkey: "MagicSetEditor2'+name+'\\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\\mse.exe,'+icon+'";\n' + \
'Root: HKCR; Subkey: "MagicSetEditor2'+name+'\\shell\\open\\command"; ValueType: string; ValueName: ""; ValueData: """{app}\\mse.exe"" ""%1""";'
#emit Association('.mse-set', 'Set', '2')
#emit Association('.mse-symbol', 'Symbol', '3')
#emit Association('.mse-installer', 'Installer', '1')
[Run]
Filename: "{app}\mse.exe"; Description: "Start Magic Set Editor"; Flags: postinstall nowait skipifsilent unchecked
; ------------------------------ : Uninstaller
[UninstallDelete]
Type: filesandordirs; Name: "{userappdata}\Magic Set Editor"
; Debugging
#ifdef Debug
#expr SaveToFile(AddBackslash(SourcePath) + "Preprocessed.iss")
#endif