all repos — mgba @ a81259f94b1b6a12b855d13442eb3503ac0920d4

mGBA Game Boy Advance Emulator

tools/windows/mgba-setup-win32.iss (view raw)

  1;For automation purposes it is highly recommended to copy the files from
  2;\tools\windows\ to the directory that contains the win32 distribution files!
  3
  4;Set CurrentReleaseVersion to the number of the latest stable mGBA build.
  5#define CurrentReleaseVersion = '0.6.1'
  6
  7#define VerMajor
  8#define VerMinor
  9#define VerRev
 10#define VerBuild
 11#define FullVersion=ParseVersion('mGBA.exe', VerMajor, VerMinor, VerRev, VerBuild)
 12#define AppVer = Str(VerMajor) + "." + Str(VerMinor) + "." + Str(VerRev)
 13
 14[Setup]
 15SourceDir=.\
 16SetupIconFile=mgba-setupiconfile.ico
 17WizardImageFile=mgba-wizardimagefile.bmp
 18
 19AppName=mGBA                   
 20AppVersion={#AppVer}
 21AppPublisher=Jeffrey Pfau
 22AppPublisherURL=https://mgba.io
 23AppSupportURL=https://mgba.io
 24AppUpdatesURL=https://mgba.io
 25AppReadmeFile=README.html
 26OutputDir=.\
 27DefaultDirName={pf}\mGBA
 28DefaultGroupName=mGBA
 29AllowNoIcons=yes
 30DirExistsWarning=no
 31ChangesAssociations=True
 32AppendDefaultDirName=False
 33UninstallDisplayIcon={app}\mGBA.exe
 34MinVersion=0,6.0
 35AlwaysShowDirOnReadyPage=True
 36UsePreviousSetupType=True
 37UsePreviousTasks=True
 38AlwaysShowGroupOnReadyPage=True
 39LicenseFile=LICENSE.txt
 40#if CurrentReleaseVersion == AppVer;
 41  #define IsRelease = 'yes'
 42  AppVerName=mGBA {#AppVer}
 43  OutputBaseFilename=mGBA-{#AppVer}-win32
 44#elif CurrentReleaseVersion != AppVer;
 45  #define IsRelease = 'no'
 46  AppVerName=mGBA (Development build)
 47  OutputBaseFilename=mGBA-setup-latest-win32
 48  #endif
 49UsePreviousLanguage=False
 50DisableWelcomePage=False
 51VersionInfoDescription=mGBA is an open-source Game Boy Advance emulator
 52VersionInfoCopyright=� 2013�2017 Jeffrey Pfau
 53VersionInfoProductName=mGBA
 54VersionInfoVersion={#AppVer}
 55Compression=lzma2/ultra64
 56SolidCompression=True
 57VersionInfoTextVersion={#AppVer}
 58VersionInfoProductVersion={#AppVer}
 59VersionInfoProductTextVersion={#AppVer}
 60
 61[Languages]
 62Name: "english"; MessagesFile: "compiler:Default.isl"
 63Name: "german"; MessagesFile: "compiler:Languages\German.isl"
 64Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
 65Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
 66
 67[Tasks]
 68Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
 69Name: "gbfileassoc"; Description: "{cm:AssocFileExtension,mGBA,Game Boy}"; GroupDescription: "{cm:FileAssoc}"
 70Name: "gbcfileassoc"; Description: "{cm:AssocFileExtension,mGBA,Game Boy Color}"; GroupDescription: "{cm:FileAssoc}"
 71Name: "gbafileassoc"; Description: "{cm:AssocFileExtension,mGBA,Game Boy Advance}"; GroupDescription: "{cm:FileAssoc}"
 72
 73[Files]
 74Source: "mGBA.exe"; DestDir: "{app}"; Flags: ignoreversion
 75Source: "CHANGES.txt"; DestDir: "{app}\"; Flags: ignoreversion isreadme
 76Source: "LICENSE.txt"; DestDir: "{app}\"; Flags: ignoreversion
 77Source: "mGBA.exe"; DestDir: "{app}\"; Flags: ignoreversion
 78Source: "nointro.dat"; DestDir: "{app}\"; Flags: ignoreversion
 79Source: "README.html"; DestDir: "{app}\"; Flags: ignoreversion isreadme; Languages: english italian spanish
 80Source: "README_DE.html"; DestDir: "{app}\"; DestName: "LIESMICH.html"; Flags: ignoreversion isreadme; Languages: german                        
 81Source: "shaders\agb001.shader\agb001.fs"; DestDir: "{app}\shaders\agb001.shader\"; Flags: ignoreversion
 82Source: "shaders\agb001.shader\manifest.ini"; DestDir: "{app}\shaders\agb001.shader\"; Flags: ignoreversion
 83Source: "shaders\ags001.shader\ags001-light.fs"; DestDir: "{app}\shaders\ags001.shader\"; Flags: ignoreversion
 84Source: "shaders\ags001.shader\ags001.fs"; DestDir: "{app}\shaders\ags001.shader\"; Flags: ignoreversion
 85Source: "shaders\ags001.shader\manifest.ini"; DestDir: "{app}\shaders\ags001.shader\"; Flags: ignoreversion
 86Source: "shaders\fish.shader\fish.fs"; DestDir: "{app}\shaders\fish.shader\"; Flags: ignoreversion
 87Source: "shaders\fish.shader\manifest.ini"; DestDir: "{app}\shaders\fish.shader\"; Flags: ignoreversion
 88Source: "shaders\gba-color.shader\gba-color.fs"; DestDir: "{app}\shaders\gba-color.shader\"; Flags: ignoreversion
 89Source: "shaders\gba-color.shader\manifest.ini"; DestDir: "{app}\shaders\gba-color.shader\"; Flags: ignoreversion
 90Source: "shaders\lcd.shader\lcd.fs"; DestDir: "{app}\shaders\lcd.shader\"; Flags: ignoreversion
 91Source: "shaders\lcd.shader\manifest.ini"; DestDir: "{app}\shaders\lcd.shader\"; Flags: ignoreversion
 92Source: "shaders\motion_blur.shader\manifest.ini"; DestDir: "{app}\shaders\motion_blur.shader\"; Flags: ignoreversion
 93Source: "shaders\motion_blur.shader\motion_blur.fs"; DestDir: "{app}\shaders\motion_blur.shader\"; Flags: ignoreversion
 94Source: "shaders\pixelate.shader\manifest.ini"; DestDir: "{app}\shaders\pixelate.shader\"; Flags: ignoreversion
 95Source: "shaders\scanlines.shader\manifest.ini"; DestDir: "{app}\shaders\scanlines.shader\"; Flags: ignoreversion
 96Source: "shaders\scanlines.shader\scanlines.fs"; DestDir: "{app}\shaders\scanlines.shader\"; Flags: ignoreversion
 97Source: "shaders\soften.shader\manifest.ini"; DestDir: "{app}\shaders\soften.shader\"; Flags: ignoreversion
 98Source: "shaders\soften.shader\soften.fs"; DestDir: "{app}\shaders\soften.shader\"; Flags: ignoreversion
 99Source: "shaders\vba_pixelate.shader\manifest.ini"; DestDir: "{app}\shaders\vba_pixelate.shader\"; Flags: ignoreversion
100Source: "shaders\vba_pixelate.shader\vba_pixelate.fs"; DestDir: "{app}\shaders\vba_pixelate.shader\"; Flags: ignoreversion
101Source: "shaders\vignette.shader\manifest.ini"; DestDir: "{app}\shaders\vignette.shader\"; Flags: ignoreversion
102Source: "shaders\vignette.shader\vignette.fs"; DestDir: "{app}\shaders\vignette.shader\"; Flags: ignoreversion
103Source: "shaders\wiiu.shader\manifest.ini"; DestDir: "{app}\shaders\wiiu.shader\"; Flags: ignoreversion
104Source: "shaders\wiiu.shader\wiiu.fs"; DestDir: "{app}\shaders\wiiu.shader\"; Flags: ignoreversion
105Source: "shaders\xbr-lv2.shader\manifest.ini"; DestDir: "{app}\shaders\xbr-lv2.shader\"; Flags: ignoreversion
106Source: "shaders\xbr-lv2.shader\xbr.fs"; DestDir: "{app}\shaders\xbr-lv2.shader\"; Flags: ignoreversion
107Source: "shaders\xbr-lv2.shader\xbr.vs"; DestDir: "{app}\shaders\xbr-lv2.shader\"; Flags: ignoreversion
108Source: "shaders\xbr-lv3.shader\manifest.ini"; DestDir: "{app}\shaders\xbr-lv3.shader\"; Flags: ignoreversion
109Source: "shaders\xbr-lv3.shader\xbr.fs"; DestDir: "{app}\shaders\xbr-lv3.shader\"; Flags: ignoreversion
110Source: "shaders\xbr-lv3.shader\xbr.vs"; DestDir: "{app}\shaders\xbr-lv3.shader\"; Flags: ignoreversion
111Source: "third-party\LICENSE.blip-buf"; DestDir: "{app}\third-party\"; Flags: ignoreversion
112Source: "third-party\LICENSE.ffmpeg"; DestDir: "{app}\third-party\"; Flags: ignoreversion
113Source: "third-party\LICENSE.imagemagick"; DestDir: "{app}\third-party\"; Flags: ignoreversion
114Source: "third-party\LICENSE.inih"; DestDir: "{app}\third-party\"; Flags: ignoreversion
115Source: "third-party\LICENSE.lame"; DestDir: "{app}\third-party\"; Flags: ignoreversion
116Source: "third-party\LICENSE.libvpx"; DestDir: "{app}\third-party\"; Flags: ignoreversion
117Source: "third-party\LICENSE.opus"; DestDir: "{app}\third-party\"; Flags: ignoreversion
118Source: "third-party\LICENSE.qt5"; DestDir: "{app}\third-party\"; Flags: ignoreversion
119Source: "third-party\LICENSE.sdl2"; DestDir: "{app}\third-party\"; Flags: ignoreversion
120Source: "third-party\LICENSE.x264"; DestDir: "{app}\third-party\"; Flags: ignoreversion
121Source: "third-party\LICENSE.xvid"; DestDir: "{app}\third-party\"; Flags: ignoreversion
122
123[Icons]
124Name: "{commonstartmenu}\mGBA"; Filename: "{app}\mGBA.exe"
125Name: "{commondesktop}\mGBA"; Filename: "{app}\mGBA.exe"; Tasks: desktopicon
126
127[Run]
128Filename: "{app}\mGBA.exe"; Description: "{cm:LaunchProgram,mGBA}"; Flags: nowait postinstall skipifsilent
129
130[Dirs]
131Name: "{app}\shaders\"
132Name: "{app}\shaders\agb001.shader\"
133Name: "{app}\shaders\ags001.shader\"
134Name: "{app}\shaders\fish.shader\"
135Name: "{app}\shaders\gba-color.shader\"
136Name: "{app}\shaders\lcd.shader\"
137Name: "{app}\shaders\motion_blur.shader\"
138Name: "{app}\shaders\pixelate.shader\"
139Name: "{app}\shaders\scanlines.shader\"
140Name: "{app}\shaders\soften.shader\"
141Name: "{app}\shaders\vba_pixelate.shader\"
142Name: "{app}\shaders\vignette.shader\"
143Name: "{app}\shaders\wiiu.shader\"
144Name: "{app}\shaders\xbr-lv2.shader\"
145Name: "{app}\shaders\xbr-lv3.shader\"
146Name: "{app}\third-party\"
147
148[CustomMessages]
149english.FileAssoc=Register file associations
150italian.FileAssoc=Register file associations
151spanish.FileAssoc=Register file associations
152german.FileAssoc=Dateierweiterungen registrieren
153
154[Registry]
155Root: HKCR; Subkey: ".gb"; ValueType: string; ValueName: ""; ValueData: "Game Boy ROM"; Flags: uninsdeletevalue; Tasks: gbfileassoc
156Root: HKCR; Subkey: ".gb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\mGBA.exe,0"; Tasks: gbfileassoc
157Root: HKCR; Subkey: ".gb\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\mGBA.exe"" ""%1"""; Tasks: gbfileassoc
158Root: HKCR; Subkey: ".gbc"; ValueType: string; ValueName: ""; ValueData: "Game Boy Color ROM"; Flags: uninsdeletevalue; Tasks: gbcfileassoc
159Root: HKCR; Subkey: ".gbc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\mGBA.exe,0"; Tasks: gbcfileassoc
160Root: HKCR; Subkey: ".gbc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\mGBA.exe"" ""%1"""; Tasks: gbcfileassoc
161Root: HKCR; Subkey: ".gba"; ValueType: string; ValueName: ""; ValueData: "Game Boy Advance ROM"; Flags: uninsdeletevalue; Tasks: gbafileassoc
162Root: HKCR; Subkey: ".gba\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\mGBA.exe,0"; Tasks: gbafileassoc
163Root: HKCR; Subkey: ".gba\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\mGBA.exe"" ""%1"""; Tasks: gbafileassoc
164
165[Code]
166var 
167  noReleaseWarning: String;
168
169procedure InitializeWizard();
170  begin
171      if ExpandConstant('{#IsRelease}') = 'no' then
172        begin
173        if ExpandConstant('{language}') = 'english' then noReleaseWarning := 'You are about to install a development build of mGBA.' + #13#10#13#10 + 'Development builds may contain bugs that are not yet discovered. Please report any issues you can find to the GitHub project page.';
174        if ExpandConstant('{language}') = 'italian' then noReleaseWarning := 'You are about to install a development build of mGBA.' + #13#10#13#10 + 'Development builds may contain bugs that are not yet discovered. Please report any issues you can find to the GitHub project page.';
175        if ExpandConstant('{language}') = 'spanish' then noReleaseWarning := 'You are about to install a development build of mGBA.' + #13#10#13#10 + 'Development builds may contain bugs that are not yet discovered. Please report any issues you can find to the GitHub project page.';
176        if ExpandConstant('{language}') = 'german' then noReleaseWarning := 'Sie m�chten eine Entwicklerversion von mGBA installieren.' + #13#10#13#10 + 'Entwicklerversionen k�nnen bislang noch nicht endeckte Fehler beinhalten. Bitte melden Sie alle Fehler, die Sie finden k�nnen, auf der GitHub-Projektseite.';
177        MsgBox(noReleaseWarning, mbInformation, MB_OK);
178      end;
179  end;
180end.