ProjectArcade
199 строк · 6.1 Кб
1/*
2********************************
3
4RetroBat Setup NSIS Script
5
6********************************
7*/
8SetCompressor lzma
9RequestExecutionLevel user
10Unicode true
11
12!define PRODUCT "RetroBat"
13!define FILENAME "retrobat"
14;!define BRANCH "stable"
15;!define PRODUCT_VERSION "5.0.0"
16!define VERSION "${RELEASE_VERSION}"
17;!define /date TIMESTAMP "%Y%m%d%H%M"
18;!define /date TIMESTAMP2 "%Y/%m/%d %H:%M:%S"
19!define PRODUCT_PUBLISHER "RetroBat Team"
20!define PRODUCT_WEB_SITE "https://www.retrobat.org/"
21
22!define BASE_SOURCE ".\..\build"
23!define BASE_TARGET "$(^Name)"
24!define RESOURCES_PATH ".\resources"
25
26!define SETUP_VERSION "6.0.0.0"
27
28VIAddVersionKey "ProductName" "${PRODUCT}"
29VIAddVersionKey "CompanyName" "${PRODUCT}"
30VIAddVersionKey "FileVersion" "${SETUP_VERSION}"
31VIAddVersionKey "LegalCopyright" "RetroBat Team"
32VIAddVersionKey "FileDescription" "This program extracts and copies all major components of RetroBat to the chosen destination."
33
34VIProductVersion "${SETUP_VERSION}"
35VIFileVersion "${SETUP_VERSION}"
36
37!include "MUI2.nsh"
38!include "FileFunc.nsh"
39!include "LogicLib.nsh"
40
41Name "${PRODUCT}"
42OutFile "${FILENAME}-v${VERSION}-setup.exe"
43InstallDir "C:\${BASE_TARGET}\"
44ShowInstDetails "hide"
45BrandingText "${PRODUCT} ${VERSION} (c) ${PRODUCT_PUBLISHER}"
46SpaceTexts none
47
48!define MUI_ABORTWARNING
49!define MUI_ABORTWARNING_TEXT "Are you sure you wish to abort installation?"
50!define MUI_COMPONENTSPAGE_SMALLDESC
51!define MUI_HEADERIMAGE
52!define MUI_HEADERIMAGE_BITMAP "${RESOURCES_PATH}\retrobat_header.bmp"
53!define MUI_HEADERIMAGE_BITMAP_STRETCH "FitControl"
54!define MUI_HEADER_TRANSPARENT_TEXT
55!define MUI_ICON "${RESOURCES_PATH}\retrobat-icon-white.ico"
56!define MUI_WELCOMEFINISHPAGE_BITMAP "${RESOURCES_PATH}\retrobat_wizard_old.bmp"
57!define MUI_FINISHPAGE_SHOWREADME
58!define MUI_FINISHPAGE_SHOWREADME_TEXT "Create Desktop Shortcut"
59!define MUI_FINISHPAGE_SHOWREADME_FUNCTION CreateDesktopShortCut
60!define MUI_FINISHPAGE_LINK "Visit official ${PRODUCT} website: ${PRODUCT_WEB_SITE}"
61!define MUI_FINISHPAGE_LINK_LOCATION "${PRODUCT_WEB_SITE}"
62
63!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
64
65!insertmacro MUI_PAGE_WELCOME
66!insertmacro MUI_PAGE_LICENSE ".\..\license.txt"
67!insertmacro MUI_PAGE_DIRECTORY
68!insertmacro MUI_PAGE_INSTFILES
69!insertmacro MUI_PAGE_FINISH
70
71!insertmacro MUI_LANGUAGE "Afrikaans"
72!insertmacro MUI_LANGUAGE "Albanian"
73!insertmacro MUI_LANGUAGE "Arabic"
74!insertmacro MUI_LANGUAGE "Basque"
75!insertmacro MUI_LANGUAGE "Belarusian"
76!insertmacro MUI_LANGUAGE "Bosnian"
77!insertmacro MUI_LANGUAGE "Breton"
78!insertmacro MUI_LANGUAGE "Bulgarian"
79!insertmacro MUI_LANGUAGE "Catalan"
80!insertmacro MUI_LANGUAGE "Croatian"
81!insertmacro MUI_LANGUAGE "Czech"
82!insertmacro MUI_LANGUAGE "Danish"
83!insertmacro MUI_LANGUAGE "Dutch"
84!insertmacro MUI_LANGUAGE "English"
85!insertmacro MUI_LANGUAGE "Estonian"
86!insertmacro MUI_LANGUAGE "Farsi"
87!insertmacro MUI_LANGUAGE "Finnish"
88!insertmacro MUI_LANGUAGE "French"
89!insertmacro MUI_LANGUAGE "Galician"
90!insertmacro MUI_LANGUAGE "German"
91!insertmacro MUI_LANGUAGE "Greek"
92!insertmacro MUI_LANGUAGE "Hebrew"
93!insertmacro MUI_LANGUAGE "Hungarian"
94!insertmacro MUI_LANGUAGE "Icelandic"
95!insertmacro MUI_LANGUAGE "Indonesian"
96!insertmacro MUI_LANGUAGE "Irish"
97!insertmacro MUI_LANGUAGE "Italian"
98!insertmacro MUI_LANGUAGE "Japanese"
99!insertmacro MUI_LANGUAGE "Korean"
100!insertmacro MUI_LANGUAGE "Kurdish"
101!insertmacro MUI_LANGUAGE "Latvian"
102!insertmacro MUI_LANGUAGE "Lithuanian"
103!insertmacro MUI_LANGUAGE "Luxembourgish"
104!insertmacro MUI_LANGUAGE "Macedonian"
105!insertmacro MUI_LANGUAGE "Malay"
106!insertmacro MUI_LANGUAGE "Mongolian"
107!insertmacro MUI_LANGUAGE "Norwegian"
108!insertmacro MUI_LANGUAGE "NorwegianNynorsk"
109!insertmacro MUI_LANGUAGE "Polish"
110!insertmacro MUI_LANGUAGE "Portuguese"
111!insertmacro MUI_LANGUAGE "PortugueseBR"
112!insertmacro MUI_LANGUAGE "Romanian"
113!insertmacro MUI_LANGUAGE "Russian"
114!insertmacro MUI_LANGUAGE "Serbian"
115!insertmacro MUI_LANGUAGE "SerbianLatin"
116!insertmacro MUI_LANGUAGE "SimpChinese"
117!insertmacro MUI_LANGUAGE "Slovak"
118!insertmacro MUI_LANGUAGE "Slovenian"
119!insertmacro MUI_LANGUAGE "Spanish"
120!insertmacro MUI_LANGUAGE "SpanishInternational"
121!insertmacro MUI_LANGUAGE "Swedish"
122!insertmacro MUI_LANGUAGE "Thai"
123!insertmacro MUI_LANGUAGE "TradChinese"
124!insertmacro MUI_LANGUAGE "Turkish"
125!insertmacro MUI_LANGUAGE "Ukrainian"
126!insertmacro MUI_LANGUAGE "Uzbek"
127!insertmacro MUI_LANGUAGE "Welsh"
128/*
129Function CreateVersionFile
130FileOpen $0 "$INSTDIR\system\version.info" w
131FileWrite $0 "${VERSION}"
132FileClose $0
133FunctionEnd
134*/
135!macro MUI_FINISHPAGE_SHORTCUT
136!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
137!define MUI_FINISHPAGE_NOREBOOTSUPPORT
138!ifdef MUI_FINISHPAGE_RUN
139!undef MUI_FINISHPAGE_RUN
140!endif
141!endif
142!define MUI_PAGE_CUSTOMFUNCTION_SHOW DisableCancelButton
143!insertmacro MUI_PAGE_FINISH
144!define MUI_PAGE_CUSTOMFUNCTION_SHOW DisableBackButton
145
146Function DisableCancelButton
147EnableWindow $mui.Button.Cancel 0
148FunctionEnd
149
150Function DisableBackButton
151EnableWindow $mui.Button.Back 0
152FunctionEnd
153!macroend
154
155Function CreateDesktopShortCut
156CreateShortCut "$DESKTOP\RetroBat.lnk" "$INSTDIR\retrobat.exe"
157FunctionEnd
158
159Function .onInit
160!insertmacro MUI_LANGDLL_DISPLAY
161FunctionEnd
162
163;Installer Sections
164Section "install"
165/*
166;Add files
167SetOutPath "$INSTDIR"
168
169Delete ${BASE_SOURCE}\*.log
170
171SetOverwrite ifnewer
172
173File ${BASE_SOURCE}\${FILENAME}.exe
174File /nonfatal ${BASE_SOURCE}\${FILENAME}.ini
175File ${BASE_SOURCE}\${FILENAME}.dat
176File ${BASE_SOURCE}\readme.txt
177File ${BASE_SOURCE}\license.txt
178File /r ${BASE_SOURCE}\*.*
179*/
180SetOverwrite ifnewer
181SetOutPath "$INSTDIR"
182File ${BASE_SOURCE}\${FILENAME}.exe
183File ${BASE_SOURCE}\${FILENAME}.dat
184File .\readme.txt
185File ${BASE_SOURCE}\license.txt
186File /r /x ${BASE_SOURCE}\emulationstation\.emulationstation\es_settings.cfg /x ${BASE_SOURCE}\emulationstation\.emulationstation\es_input.cfg ${BASE_SOURCE}\*.*
187
188SetOverwrite off
189SetOutPath "$INSTDIR"
190File /nonfatal ${BASE_SOURCE}\${FILENAME}.ini
191
192SetOverwrite off
193SetOutPath "$INSTDIR\emulationstation\.emulationstation"
194File ${BASE_SOURCE}\emulationstation\.emulationstation\es_settings.cfg
195File ${BASE_SOURCE}\emulationstation\.emulationstation\es_input.cfg
196
197; Call CreateVersionFile
198
199SectionEnd