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.3'
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: "french"; MessagesFile: "compiler:Languages\French.isl"
64Name: "german"; MessagesFile: "compiler:Languages\German.isl"
65Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
66Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
67
68[Tasks]
69Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
70Name: "gbfileassoc"; Description: "{cm:AssocFileExtension,mGBA,Game Boy}"; GroupDescription: "{cm:FileAssoc}"
71Name: "gbcfileassoc"; Description: "{cm:AssocFileExtension,mGBA,Game Boy Color}"; GroupDescription: "{cm:FileAssoc}"
72Name: "gbafileassoc"; Description: "{cm:AssocFileExtension,mGBA,Game Boy Advance}"; GroupDescription: "{cm:FileAssoc}"
73
74[Files]
75Source: "mGBA.exe"; DestDir: "{app}"; Flags: ignoreversion
76Source: "CHANGES.txt"; DestDir: "{app}\"; Flags: ignoreversion isreadme
77Source: "LICENSE.txt"; DestDir: "{app}\"; Flags: ignoreversion
78Source: "mGBA.exe"; DestDir: "{app}\"; Flags: ignoreversion
79Source: "nointro.dat"; DestDir: "{app}\"; Flags: ignoreversion
80Source: "README.html"; DestDir: "{app}\"; Flags: ignoreversion isreadme; Languages: english italian spanish
81Source: "README_DE.html"; DestDir: "{app}\"; DestName: "LIESMICH.html"; Flags: ignoreversion isreadme; Languages: german
82Source: "shaders\agb001.shader\agb001.fs"; DestDir: "{app}\shaders\agb001.shader\"; Flags: ignoreversion
83Source: "shaders\agb001.shader\manifest.ini"; DestDir: "{app}\shaders\agb001.shader\"; Flags: ignoreversion
84Source: "shaders\ags001.shader\ags001-light.fs"; DestDir: "{app}\shaders\ags001.shader\"; Flags: ignoreversion
85Source: "shaders\ags001.shader\ags001.fs"; DestDir: "{app}\shaders\ags001.shader\"; Flags: ignoreversion
86Source: "shaders\ags001.shader\manifest.ini"; DestDir: "{app}\shaders\ags001.shader\"; Flags: ignoreversion
87Source: "shaders\fish.shader\fish.fs"; DestDir: "{app}\shaders\fish.shader\"; Flags: ignoreversion
88Source: "shaders\fish.shader\manifest.ini"; DestDir: "{app}\shaders\fish.shader\"; Flags: ignoreversion
89Source: "shaders\gba-color.shader\gba-color.fs"; DestDir: "{app}\shaders\gba-color.shader\"; Flags: ignoreversion
90Source: "shaders\gba-color.shader\manifest.ini"; DestDir: "{app}\shaders\gba-color.shader\"; Flags: ignoreversion
91Source: "shaders\lcd.shader\lcd.fs"; DestDir: "{app}\shaders\lcd.shader\"; Flags: ignoreversion
92Source: "shaders\lcd.shader\manifest.ini"; DestDir: "{app}\shaders\lcd.shader\"; Flags: ignoreversion
93Source: "shaders\motion_blur.shader\manifest.ini"; DestDir: "{app}\shaders\motion_blur.shader\"; Flags: ignoreversion
94Source: "shaders\motion_blur.shader\motion_blur.fs"; DestDir: "{app}\shaders\motion_blur.shader\"; Flags: ignoreversion
95Source: "shaders\pixelate.shader\manifest.ini"; DestDir: "{app}\shaders\pixelate.shader\"; Flags: ignoreversion
96Source: "shaders\scanlines.shader\manifest.ini"; DestDir: "{app}\shaders\scanlines.shader\"; Flags: ignoreversion
97Source: "shaders\scanlines.shader\scanlines.fs"; DestDir: "{app}\shaders\scanlines.shader\"; Flags: ignoreversion
98Source: "shaders\soften.shader\manifest.ini"; DestDir: "{app}\shaders\soften.shader\"; Flags: ignoreversion
99Source: "shaders\soften.shader\soften.fs"; DestDir: "{app}\shaders\soften.shader\"; Flags: ignoreversion
100Source: "shaders\vba_pixelate.shader\manifest.ini"; DestDir: "{app}\shaders\vba_pixelate.shader\"; Flags: ignoreversion
101Source: "shaders\vba_pixelate.shader\vba_pixelate.fs"; DestDir: "{app}\shaders\vba_pixelate.shader\"; Flags: ignoreversion
102Source: "shaders\vignette.shader\manifest.ini"; DestDir: "{app}\shaders\vignette.shader\"; Flags: ignoreversion
103Source: "shaders\vignette.shader\vignette.fs"; DestDir: "{app}\shaders\vignette.shader\"; Flags: ignoreversion
104Source: "shaders\wiiu.shader\manifest.ini"; DestDir: "{app}\shaders\wiiu.shader\"; Flags: ignoreversion
105Source: "shaders\wiiu.shader\wiiu.fs"; DestDir: "{app}\shaders\wiiu.shader\"; Flags: ignoreversion
106Source: "shaders\xbr-lv2.shader\manifest.ini"; DestDir: "{app}\shaders\xbr-lv2.shader\"; Flags: ignoreversion
107Source: "shaders\xbr-lv2.shader\xbr.fs"; DestDir: "{app}\shaders\xbr-lv2.shader\"; Flags: ignoreversion
108Source: "shaders\xbr-lv2.shader\xbr.vs"; DestDir: "{app}\shaders\xbr-lv2.shader\"; Flags: ignoreversion
109Source: "shaders\xbr-lv3.shader\manifest.ini"; DestDir: "{app}\shaders\xbr-lv3.shader\"; Flags: ignoreversion
110Source: "shaders\xbr-lv3.shader\xbr.fs"; DestDir: "{app}\shaders\xbr-lv3.shader\"; Flags: ignoreversion
111Source: "shaders\xbr-lv3.shader\xbr.vs"; DestDir: "{app}\shaders\xbr-lv3.shader\"; Flags: ignoreversion
112Source: "third-party\LICENSE.blip-buf"; DestDir: "{app}\third-party\"; Flags: ignoreversion
113Source: "third-party\LICENSE.ffmpeg"; DestDir: "{app}\third-party\"; Flags: ignoreversion
114Source: "third-party\LICENSE.imagemagick"; DestDir: "{app}\third-party\"; Flags: ignoreversion
115Source: "third-party\LICENSE.inih"; DestDir: "{app}\third-party\"; Flags: ignoreversion
116Source: "third-party\LICENSE.lame"; DestDir: "{app}\third-party\"; Flags: ignoreversion
117Source: "third-party\LICENSE.libvpx"; DestDir: "{app}\third-party\"; Flags: ignoreversion
118Source: "third-party\LICENSE.opus"; DestDir: "{app}\third-party\"; Flags: ignoreversion
119Source: "third-party\LICENSE.qt5"; DestDir: "{app}\third-party\"; Flags: ignoreversion
120Source: "third-party\LICENSE.sdl2"; DestDir: "{app}\third-party\"; Flags: ignoreversion
121Source: "third-party\LICENSE.x264"; DestDir: "{app}\third-party\"; Flags: ignoreversion
122Source: "third-party\LICENSE.xvid"; DestDir: "{app}\third-party\"; Flags: ignoreversion
123
124[Icons]
125Name: "{commonstartmenu}\mGBA"; Filename: "{app}\mGBA.exe"
126Name: "{commondesktop}\mGBA"; Filename: "{app}\mGBA.exe"; Tasks: desktopicon
127
128[Run]
129Filename: "{app}\mGBA.exe"; Description: "{cm:LaunchProgram,mGBA}"; Flags: nowait postinstall skipifsilent
130
131[Dirs]
132Name: "{app}\shaders\"
133Name: "{app}\shaders\agb001.shader\"
134Name: "{app}\shaders\ags001.shader\"
135Name: "{app}\shaders\fish.shader\"
136Name: "{app}\shaders\gba-color.shader\"
137Name: "{app}\shaders\lcd.shader\"
138Name: "{app}\shaders\motion_blur.shader\"
139Name: "{app}\shaders\pixelate.shader\"
140Name: "{app}\shaders\scanlines.shader\"
141Name: "{app}\shaders\soften.shader\"
142Name: "{app}\shaders\vba_pixelate.shader\"
143Name: "{app}\shaders\vignette.shader\"
144Name: "{app}\shaders\wiiu.shader\"
145Name: "{app}\shaders\xbr-lv2.shader\"
146Name: "{app}\shaders\xbr-lv3.shader\"
147Name: "{app}\third-party\"
148
149[CustomMessages]
150english.FileAssoc=Register file associations
151french.FileAssoc=Register file associations
152italian.FileAssoc=Register file associations
153spanish.FileAssoc=Register file associations
154german.FileAssoc=Dateierweiterungen registrieren
155
156[Registry]
157Root: HKCR; Subkey: ".gb"; ValueType: string; ValueName: ""; ValueData: "Game Boy ROM"; Flags: uninsdeletevalue; Tasks: gbfileassoc
158Root: HKCR; Subkey: ".gb\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\mGBA.exe,0"; Tasks: gbfileassoc
159Root: HKCR; Subkey: ".gb\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\mGBA.exe"" ""%1"""; Tasks: gbfileassoc
160Root: HKCR; Subkey: ".gbc"; ValueType: string; ValueName: ""; ValueData: "Game Boy Color ROM"; Flags: uninsdeletevalue; Tasks: gbcfileassoc
161Root: HKCR; Subkey: ".gbc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\mGBA.exe,0"; Tasks: gbcfileassoc
162Root: HKCR; Subkey: ".gbc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\mGBA.exe"" ""%1"""; Tasks: gbcfileassoc
163Root: HKCR; Subkey: ".gba"; ValueType: string; ValueName: ""; ValueData: "Game Boy Advance ROM"; Flags: uninsdeletevalue; Tasks: gbafileassoc
164Root: HKCR; Subkey: ".gba\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\mGBA.exe,0"; Tasks: gbafileassoc
165Root: HKCR; Subkey: ".gba\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\mGBA.exe"" ""%1"""; Tasks: gbafileassoc
166
167[Code]
168var
169 noReleaseWarning: String;
170
171procedure InitializeWizard();
172 begin
173 if ExpandConstant('{#IsRelease}') = 'no' then
174 begin
175 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.';
176 if ExpandConstant('{language}') = 'french' 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.';
177 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.';
178 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.';
179 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.';
180 MsgBox(noReleaseWarning, mbInformation, MB_OK);
181 end;
182 end;
183end.