OSDN Git Service

Updated installers for toolchain rebuild
[skyscrapersim/skyscraper.git] / tools / installer / skyscraper.nsi
1 ; Script generated by the HM NIS Edit Script Wizard.
2
3 ; HM NIS Edit Wizard helper defines
4 !define PRODUCT_NAME "Skyscraper"
5 !define PRODUCT_VERSION "2.0 Alpha 10"
6 !define PRODUCT_PUBLISHER "Ryan Thoryk"
7 !define PRODUCT_WEB_SITE "http://www.skyscrapersim.com"
8 !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Skyscraper.exe"
9 !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
10 !define PRODUCT_UNINST_ROOT_KEY "HKLM"
11 !define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir"
12
13 ; Location where Skyscraper files are stored
14 ;example: !define LOCAL_FILES "${LOCAL_FILES}"
15 !define LOCAL_FILES "..\..\"
16 !define WINDOWS_DIR "C:\WINDOWS"
17 !define SYSTEM_DIR "C:\WINDOWS\System32"
18
19 SetCompressor lzma
20 VIAddVersionKey ProductName "Skyscraper"
21 VIAddVersionKey FileDescription "Skyscraper"
22 VIAddVersionKey CompanyName "TLI Networks"
23 VIAddVersionKey LegalCopyright "©2003-2015 Ryan Thoryk"
24 VIAddVersionKey FileVersion "1.10.0.0"
25 VIAddVersionKey ProductVersion "1.10.0.0"
26 VIProductVersion 1.10.0.0
27
28 ; MUI 1.67 compatible ------
29 !include "MUI.nsh"
30
31 ; MUI Settings
32 !define MUI_ABORTWARNING
33 !define MUI_ICON "${LOCAL_FILES}\skyscraper.ico"
34 !define MUI_UNICON "${LOCAL_FILES}\skyscraper.ico"
35 !define MUI_WELCOMEFINISHPAGE_BITMAP "${LOCAL_FILES}\tools\installer\install.bmp"
36 !define MUI_UNWELCOMEFINISHPAGE_BITMAP "${LOCAL_FILES}\tools\installer\install.bmp"
37
38 ; Welcome page
39 !insertmacro MUI_PAGE_WELCOME
40 ; License page
41 !insertmacro MUI_PAGE_LICENSE "${LOCAL_FILES}\gpl.txt"
42 ; Components page
43 !insertmacro MUI_PAGE_COMPONENTS
44 ; Directory page
45 !insertmacro MUI_PAGE_DIRECTORY
46 ; Start menu page
47 var ICONS_GROUP
48 !define MUI_STARTMENUPAGE_NODISABLE
49 !define MUI_STARTMENUPAGE_DEFAULTFOLDER "Skyscraper"
50 !define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
51 !define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
52 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}"
53 !insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP
54 ; Instfiles page
55 !insertmacro MUI_PAGE_INSTFILES
56 ; Finish page
57 !define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\readme.txt"
58 ;!define MUI_FINISHPAGE_RUN "$INSTDIR\Skyscraper.exe"
59 !insertmacro MUI_PAGE_FINISH
60
61 ; Uninstaller pages
62 !insertmacro MUI_UNPAGE_INSTFILES
63
64 ; Language files
65 !insertmacro MUI_LANGUAGE "English"
66
67 ; Reserve files
68 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
69
70 ; MUI end ------
71
72 Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
73 OutFile "skyscraper20alpha10.exe"
74 InstallDir "$PROGRAMFILES\Skyscraper"
75 InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
76 ShowInstDetails show
77 ShowUnInstDetails show
78
79 Section "Application" SEC01
80   SetOutPath "$INSTDIR"
81   SetOverwrite ifnewer
82   File "${LOCAL_FILES}\Skyscraper.exe"
83   File "${LOCAL_FILES}\SBS.dll"
84   File "${LOCAL_FILES}\Skyscraper.pdb"
85   File "${LOCAL_FILES}\SBS.pdb"
86   File "${LOCAL_FILES}\OgreBulletCollisions.dll"
87   File "${LOCAL_FILES}\OgreBulletDynamics.dll"
88   File "${LOCAL_FILES}\skyscraper.ini"
89   CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
90   CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Skyscraper.lnk" "$INSTDIR\Skyscraper.exe"
91   CreateShortCut "$DESKTOP\Skyscraper.lnk" "$INSTDIR\Skyscraper.exe"
92   File "${LOCAL_FILES}\readme.txt"
93   CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Release Notes.lnk" "write.exe" '"$INSTDIR\readme.txt"'
94   File "${LOCAL_FILES}\designguide.html"
95   CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Building Design Guide.lnk" "$INSTDIR\designguide.html"
96   File "${LOCAL_FILES}\changelog.txt"
97   CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Changelog.lnk" "write.exe" '"$INSTDIR\changelog.txt"'
98   File "${LOCAL_FILES}\design.rtf"
99   SetOutPath "$INSTDIR\buildings"
100   File "${LOCAL_FILES}\buildings\*.bld"
101   SetOutPath "$INSTDIR\screenshots"
102   File "${LOCAL_FILES}\screenshots\*.*"
103   SetOutPath "$INSTDIR\guide"
104   File "${LOCAL_FILES}\guide\*.*"
105   SetOutPath "$INSTDIR\data"
106   File "${LOCAL_FILES}\data\*.*"
107   SetOutPath "$INSTDIR\data\triton_signs"
108   File "${LOCAL_FILES}\data\triton_signs\*.*"
109   SetOutPath "$INSTDIR\data\fonts"
110   File "${LOCAL_FILES}\data\fonts\*.*"
111   SetOutPath "$INSTDIR\data\MT"
112   File "${LOCAL_FILES}\data\MT\*.*"
113   SetOutPath "$INSTDIR\data\scripts"
114   File "${LOCAL_FILES}\data\scripts\*.*"
115   SetOutPath "$INSTDIR\data\signs"
116   File "${LOCAL_FILES}\data\signs\*.*"
117   SetOutPath "$INSTDIR\data\materials"
118   File "${LOCAL_FILES}\data\materials\*.*"
119   SetOutPath "$INSTDIR\data\otis67"
120   File "${LOCAL_FILES}\data\otis67\*.*"
121   SetOutPath "$INSTDIR\data\Mitsubishi_ADA"
122   File "${LOCAL_FILES}\data\Mitsubishi_ADA\*.*"
123   SetOutPath "$INSTDIR\data\New_Otis_Elevator"
124   File "${LOCAL_FILES}\data\New_Otis_Elevator\*.*"
125   SetOutPath "$INSTDIR\data\Otis_ZEN"
126   File "${LOCAL_FILES}\data\Otis_ZEN\*.*"
127   SetOutPath "$INSTDIR\data\pool"
128   File "${LOCAL_FILES}\data\pool\*.*"
129   SetOutPath "$INSTDIR\data\Sigma_Palladium"
130   File "${LOCAL_FILES}\data\Sigma_Palladium\*.*"
131 SectionEnd
132
133 Section /o "Source Code" SEC02
134   SetOutPath "$INSTDIR"
135   File "${LOCAL_FILES}\skyscraper.ico"
136   File "${LOCAL_FILES}\gpl.txt"
137   File "${LOCAL_FILES}\Doxyfile"
138   File "${LOCAL_FILES}\CMakeLists.txt"
139   File "${LOCAL_FILES}\compiling.txt"
140   File "${LOCAL_FILES}\svnrev.*"
141   File "${LOCAL_FILES}\*.patch"
142   SetOutPath "$INSTDIR\ogrebullet"
143   File /r "${LOCAL_FILES}\ogrebullet\*.*"
144   SetOutPath "$INSTDIR\svnrev"
145   File "${LOCAL_FILES}\svnrev\*.*"
146   SetOutPath "$INSTDIR\src"
147   File /r "${LOCAL_FILES}\src\*.*"
148   SetOutPath "$INSTDIR\codeblocks"
149   File "${LOCAL_FILES}\codeblocks\*.*"
150   SetOutPath "$INSTDIR\codeblocks\wxsmith"
151   File "${LOCAL_FILES}\codeblocks\wxsmith\*.*"
152   SetOutPath "$INSTDIR\msvc"
153   File "${LOCAL_FILES}\msvc\*.*"
154   SetOutPath "$INSTDIR\tools"
155   File /r "${LOCAL_FILES}\tools\*.*"
156 SectionEnd
157
158 Section "Required libraries" SEC03
159   SetOutPath "$INSTDIR"
160   File "${LOCAL_FILES}\Caelum.dll"
161   File "${LOCAL_FILES}\cg.dll"
162   File "${LOCAL_FILES}\fmodex.dll"
163   File "${LOCAL_FILES}\OgreMain.dll"
164   File "${LOCAL_FILES}\Plugin_CgProgramManager.dll"
165   File "${LOCAL_FILES}\Plugin_OctreeSceneManager.dll"
166   File "${LOCAL_FILES}\RenderSystem_Direct3D9.dll"
167   File "${LOCAL_FILES}\RenderSystem_Direct3D11.dll"
168   File "${LOCAL_FILES}\RenderSystem_GL.dll"
169   File "${LOCAL_FILES}\plugins.cfg"
170   File "${LOCAL_FILES}\resources.cfg"
171   File "${LOCAL_FILES}\ogre.cfg"
172   File "${LOCAL_FILES}\wxbase30u_vc_custom.dll"
173   File "${LOCAL_FILES}\wxmsw30u_core_vc_custom.dll"
174   File "${LOCAL_FILES}\wxmsw30u_gl_vc_custom.dll"
175   File "${LOCAL_FILES}\D3DX9_43.dll"
176   File "${LOCAL_FILES}\D3DCompiler_43.dll"
177   File "${LOCAL_FILES}\msvcp100.dll"
178   File "${LOCAL_FILES}\msvcr100.dll"
179   File "${LOCAL_FILES}\dbghelp.dll"
180   SetOutPath "$INSTDIR\data\caelum"
181   File /r "${LOCAL_FILES}\data\caelum\*.*"
182 SectionEnd
183
184 Section -AdditionalIcons
185   WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
186   CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
187   CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" "$INSTDIR\uninst.exe"
188 SectionEnd
189
190 Section -Post
191   WriteUninstaller "$INSTDIR\uninst.exe"
192   WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Skyscraper.exe"
193   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
194   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
195   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Skyscraper.exe"
196   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
197   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "${PRODUCT_STARTMENU_REGVAL}" "$ICONS_GROUP"
198   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
199   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
200 SectionEnd
201
202 ; Section descriptions
203 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
204   !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Application"
205   !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Source code"
206   !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "Required libraries"
207 !insertmacro MUI_FUNCTION_DESCRIPTION_END
208
209 Function un.onUninstSuccess
210   HideWindow
211   MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was successfully removed from your computer."
212 FunctionEnd
213
214 Function un.onInit
215   MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name) and all of its components?" IDYES +2
216   Abort
217 FunctionEnd
218
219 Section Uninstall
220   ReadRegStr $ICONS_GROUP ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "${PRODUCT_STARTMENU_REGVAL}"
221   Delete "$INSTDIR\${PRODUCT_NAME}.url"
222   Delete "$INSTDIR\uninst.exe"
223
224   RMdir /r "$INSTDIR"
225
226   Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk"
227   Delete "$SMPROGRAMS\$ICONS_GROUP\Website.lnk"
228   Delete "$DESKTOP\Skyscraper.lnk"
229   Delete "$SMPROGRAMS\$ICONS_GROUP\Skyscraper.lnk"
230   Delete "$SMPROGRAMS\$ICONS_GROUP\Release Notes.lnk"
231   Delete "$SMPROGRAMS\$ICONS_GROUP\Building Design Guide.lnk"
232   Delete "$SMPROGRAMS\$ICONS_GROUP\Changelog.lnk"
233
234   RMDir "$SMPROGRAMS\$ICONS_GROUP"
235
236   DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
237   DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
238   SetAutoClose true
239 SectionEnd