Advertisement
Guest User

Untitled

a guest
Sep 14th, 2016
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.27 KB | None | 0 0
  1. !define MULTIUSER_EXECUTIONLEVEL Highest
  2. !define MULTIUSER_MUI
  3. !define MULTIUSER_INSTALLMODE_COMMANDLINE
  4. !define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_KEY "Software\Naev"
  5. !define MULTIUSER_INSTALLMODE_DEFAULT_REGISTRY_VALUENAME ""
  6. !define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_KEY "Software\Naev"
  7. !define MULTIUSER_INSTALLMODE_INSTDIR_REGISTRY_VALUENAME ""
  8. !define MULTIUSER_INSTALLMODE_INSTDIR "Naev"
  9. !include "MultiUser.nsh"
  10. !include "MUI2.nsh"
  11. !include "nsDialogs.nsh"
  12. !include "LogicLib.nsh"
  13. !define MUI_ICON "..\logos\logo.ico"
  14. ;!define MUI_UNICON "..\logos\logo.ico"
  15. ;--------------------------------
  16. ;General
  17.  
  18. ;Name and file
  19. !define VERSION "0.6.0"
  20. !define URL "http://naev.org"
  21. Name "Naev"
  22. OutFile "naev-${VERSION}-ndata-win32.exe"
  23. ;OutFile "naev-${VERSION}-ndata-win64.exe"
  24.  
  25. ;--------------------------------
  26. ;Variables
  27.  
  28. Var StartMenuFolder
  29.  
  30. ;--------------------------------
  31. ;Interface Settings
  32.  
  33. ;!define MUI_WELCOMEFINISHPAGE_BITMAP - A 164x314 px bitmap could go here.
  34. !define MUI_ABORTWARNING
  35.  
  36. ;--------------------------------
  37. ;Language Selection Dialog Settings
  38.  
  39. ;Remember the installer language
  40. !define MUI_LANGDLL_REGISTRY_ROOT "SHCTX"
  41. !define MUI_LANGDLL_REGISTRY_KEY "Software\Naev"
  42. !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
  43.  
  44. ;--------------------------------
  45. ;Pages
  46.  
  47. !insertmacro MUI_PAGE_WELCOME
  48. !insertmacro MUI_PAGE_LICENSE "legal\gpl-3.0.txt"
  49. !insertmacro MULTIUSER_PAGE_INSTALLMODE
  50. !insertmacro MUI_PAGE_COMPONENTS
  51. !insertmacro MUI_PAGE_DIRECTORY
  52.  
  53. ;Start Menu Folder Page Configuration
  54. !define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX"
  55. !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Naev"
  56. !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
  57. !define MUI_STARTMENUPAGE_DEFAULTFOLDER "Naev"
  58.  
  59. !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
  60.  
  61. !insertmacro MUI_PAGE_INSTFILES
  62.  
  63. !define MUI_FINISHPAGE_RUN $INSTDIR\naev.exe
  64. !define MUI_FINISHPAGE_RUN_PARAMETERS
  65. !insertmacro MUI_PAGE_FINISH
  66.  
  67. !insertmacro MUI_UNPAGE_CONFIRM
  68. !insertmacro MUI_UNPAGE_INSTFILES
  69.  
  70. ;--------------------------------
  71. ;Languages
  72.  
  73. !insertmacro MUI_LANGUAGE "English" ;first language is the default language
  74.  
  75. ;--------------------------------
  76. ;Installer Sections
  77.  
  78. Section "Naev Engine" BinarySection
  79.  
  80. SectionIn RO
  81.  
  82. SetOutPath "$INSTDIR"
  83. File bin\*.dll
  84. File bin\naev.exe
  85. File ..\logos\logo.ico
  86.  
  87. ;Store installation folder
  88. WriteRegStr SHCTX "Software\Naev" "" $INSTDIR
  89.  
  90. ;Create uninstaller
  91. WriteUninstaller "$INSTDIR\Uninstall.exe"
  92.  
  93. ;Add uninstall information
  94. WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\Naev" "DisplayName" "Naev"
  95. WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\Naev" "DisplayIcon" "$\"$INSTDIR\naev.exe$\""
  96. WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\Naev" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\""
  97. WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\Naev" "QuietUninstallString" "$\"$INSTDIR\Uninstall.exe$\" /S"
  98. WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\Naev" "URLInfoAbout" "${URL}"
  99. WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\Naev" "DisplayVersion" "${VERSION}"
  100. WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\Naev" "Publisher" "Naev Project"
  101. WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\Naev" "NoModify" 1
  102. WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\Naev" "NoRepair" 1
  103.  
  104. !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
  105.  
  106. ;Create shortcuts
  107. CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
  108. CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Naev.lnk" "$INSTDIR\naev.exe"
  109. CreateShortCut "$DESKTOP\Naev.lnk" "$INSTDIR\naev.exe"
  110.  
  111. !insertmacro MUI_STARTMENU_WRITE_END
  112.  
  113. SectionEnd
  114.  
  115. Section "Naev Data" DataSection
  116.  
  117. SectionIn RO
  118.  
  119. SetOutPath "$INSTDIR"
  120. File ndata.zip
  121.  
  122. SectionEnd
  123.  
  124. ;--------------------------------
  125. ;Installer Functions
  126.  
  127. Function .onInit
  128.  
  129. !insertmacro MULTIUSER_INIT
  130. !insertmacro MUI_LANGDLL_DISPLAY
  131.  
  132. FunctionEnd
  133.  
  134. ;--------------------------------
  135. ;Descriptions
  136.  
  137. ;Assign descriptions to sections
  138. !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
  139. !insertmacro MUI_DESCRIPTION_TEXT ${BinarySection} "Naev engine."
  140. !insertmacro MUI_DESCRIPTION_TEXT ${DataSection} "Provides all content and media."
  141. !insertmacro MUI_FUNCTION_DESCRIPTION_END
  142.  
  143. ;--------------------------------
  144. ;Uninstaller Section
  145.  
  146. Section "Uninstall"
  147.  
  148. Delete "$INSTDIR\Uninstall.exe"
  149. Delete "$INSTDIR\naev.exe"
  150. Delete "$INSTDIR\logo.ico"
  151. Delete "$INSTDIR\ndata.zip"
  152. Delete "$INSTDIR\*.dll"
  153. Delete "$INSTDIR\stderr.txt"
  154. Delete "$INSTDIR\stdout.txt"
  155. RMDir "$INSTDIR"
  156.  
  157. !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
  158.  
  159. Delete "$SMPROGRAMS\$StartMenuFolder\Naev.lnk"
  160. RMDir "$SMPROGRAMS\$StartMenuFolder"
  161.  
  162. DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\Naev"
  163. DeleteRegKey /ifempty SHCTX "Software\Naev"
  164.  
  165. SectionEnd
  166.  
  167. ;--------------------------------
  168. ;Uninstaller Functions
  169.  
  170. Function un.onInit
  171.  
  172. !insertmacro MULTIUSER_UNINIT
  173. !insertmacro MUI_UNGETLANGUAGE
  174.  
  175. FunctionEnd
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement