Mercurial > mamba
annotate scripts/mamba.nsi @ 540:efe1b61aad08
Start of help and an exit button.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Sun, 18 Sep 2011 01:37:03 +0200 |
parents | 2079f6f576e1 |
children |
rev | line source |
---|---|
461
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
1 ; Compile with ./scripts/makensis ./scripts/mamba.nsi . |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
2 ; You'll need to have previously run wine-py2exe |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
3 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
4 !include "MUI.nsh" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
5 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
6 ; Application Details |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
7 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
8 !define MM_VERSION "0.0.0" ; set by makensis scripts |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
9 !define MM_UNPACK "mutable-mamba-${MM_VERSION}" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
10 !define DIST_FOLDER "../dist" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
11 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
12 Name "Mutable Mamba" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
13 OutFile "${DIST_FOLDER}\mutable-mamba-${MM_VERSION}.exe" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
14 InstallDir "$PROGRAMFILES\Mutable-Mamba-${MM_VERSION}" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
15 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
16 ; Interface Settings |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
17 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
18 !define MUI_ABORTWARNING |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
19 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
20 !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\arrow-install.ico" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
21 !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\arrow-uninstall.ico" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
22 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
23 !define MUI_HEADERIMAGE |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
24 !define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\orange.bmp" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
25 !define MUI_HEADERIMAGE_UNBITMAP "${NSISDIR}\Contrib\Graphics\Header\orange-uninstall.bmp" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
26 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
27 ; Dependencies |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
28 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
29 !define COMBINED_LICENSE "../LICENSE.txt" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
30 !define MM_ICON "../data/icons/program/icon.ico" |
464
59a29ec5da5d
Fix icon location for NSIS exe.
Simon Cross <hodgestar@gmail.com>
parents:
461
diff
changeset
|
31 !define MM_WINDOWS_ICON "data\icons\program\icon.ico" |
461
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
32 !define MM_PY2EXE_ZIP "mutable-mamba-${MM_VERSION}.zip" |
468 | 33 !define VCREDIST "vcredist_x86.exe" |
34 !define VCREDIST_KEY "{FF66E9F6-83E7-3A3E-AF14-8DE9A809A6A4}" | |
461
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
35 !define UNINSTALLER "Uninstaller.exe" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
36 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
37 ; Pages |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
38 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
39 !insertmacro MUI_PAGE_LICENSE "${COMBINED_LICENSE}" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
40 !insertmacro MUI_PAGE_DIRECTORY |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
41 !insertmacro MUI_PAGE_INSTFILES |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
42 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
43 !insertmacro MUI_UNPAGE_CONFIRM |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
44 !insertmacro MUI_UNPAGE_INSTFILES |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
45 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
46 ; Languages |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
47 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
48 !insertmacro MUI_LANGUAGE "English" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
49 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
50 ; Other Stuff |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
51 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
52 Icon "${MM_ICON}" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
53 SetCompress off ; all the big stuff is already compressed |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
54 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
55 ; Installer Sections |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
56 |
468 | 57 Section "vcredist" |
58 | |
59 SetOutPath "$INSTDIR" | |
60 File "${DIST_FOLDER}\${VCREDIST}" | |
61 ; Check if it's already installed by checking for the uninstall key | |
62 ; Idea and key value to check taken post and comments at: | |
63 ; http://blogs.msdn.com/b/astebner/archive/2009/01/29/9384143.aspx | |
64 | |
65 ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${VCREDIST_KEY}" UninstallString | |
66 ; NSIS docs say if the key doesn't exist, we get an error and an empty string | |
67 IfErrors install done | |
68 | |
69 install: | |
70 ; Runs install with progress bar and no cancel button | |
71 ; Details taken from | |
72 ; http://blogs.msdn.com/b/astebner/archive/2010/10/18/9513328.aspx | |
73 | |
74 DetailPrint "Installing required MS runtime libraries" | |
75 ExecWait "$INSTDIR/${VCREDIST} /qb!" | |
76 | |
77 done: | |
78 | |
79 DetailPrint "MS runtime libraries already installed, skipping" | |
80 | |
81 SectionEnd | |
82 | |
461
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
83 Section "Mutable Mamba" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
84 SetOutPath "$INSTDIR" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
85 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
86 WriteUninstaller "$INSTDIR\${UNINSTALLER}" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
87 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
88 File "${DIST_FOLDER}\${MM_PY2EXE_ZIP}" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
89 File "${MM_ICON}" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
90 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
91 ZipDLL::extractall "$INSTDIR\${MM_PY2EXE_ZIP}" "$INSTDIR" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
92 Delete "$INSTDIR\${MM_PY2EXE_ZIP}" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
93 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
94 CreateDirectory "$SMPROGRAMS\Mutable Mamba" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
95 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
96 # link.lnk target.exe |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
97 # parameters icon.file icon_index_number start_options |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
98 # keyboard_shortcut description |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
99 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
100 CreateShortCut "$SMPROGRAMS\Mutable Mamba\Mutable Mamba ${MM_VERSION}.lnk" "$INSTDIR\${MM_UNPACK}\mamba.exe" \ |
464
59a29ec5da5d
Fix icon location for NSIS exe.
Simon Cross <hodgestar@gmail.com>
parents:
461
diff
changeset
|
101 "" "$INSTDIR\${MM_UNPACK}\${MM_WINDOWS_ICON}" "" SW_SHOWNORMAL \ |
461
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
102 "" "Mutable Mamba" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
103 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
104 CreateShortCut "$SMPROGRAMS\Mutable Mamba\Uninstall Mutable Mamba ${MM_VERSION}.lnk" "$INSTDIR\${UNINSTALLER}" \ |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
105 "" "" "" SW_SHOWNORMAL \ |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
106 "" "Uninstall Mutable Mamba" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
107 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
108 SectionEnd |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
109 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
110 UninstallText "This will uninstall Mutable Mamba ${MM_VERSION}." |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
111 UninstallIcon "${MM_ICON}" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
112 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
113 Section "Uninstall" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
114 ; Delete files not deleted during install |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
115 Delete "$INSTDIR\${MM_ICON}" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
116 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
117 ; Remove py2exe folder |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
118 RMDir /r /REBOOTOK "$INSTDIR\${MM_UNPACK}" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
119 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
120 ; Remove shortcut links |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
121 Delete "$SMPROGRAMS\Mutable Mamba\Mutable Mamba ${MM_VERSION}.lnk" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
122 Delete "$SMPROGRAMS\Mutable Mamba\Uninstall Mutable Mamba ${MM_VERSION}.lnk" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
123 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
124 ; Remove shortcut folder if no links left |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
125 IfFileExists "$SMPROGRAMS\Mutable Mamba\*.lnk" shortcuts_exist 0 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
126 RMDir /REBOOTOK "$SMPROGRAMS\Mutable Mamba" |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
127 shortcuts_exist: |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
128 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
129 ; Final Clean up (no point doing this while the uninstall is incomplete) |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
130 RMDir /r /REBOOTOK $INSTDIR |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
131 |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
132 ; Offer to reboot if needed |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
133 IfRebootFlag 0 noreboot |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
134 MessageBox MB_YESNO "A reboot is required to finish the uninstallation. Do you wish to reboot now?" IDNO noreboot |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
135 Reboot |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
136 noreboot: |
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
137 |
468 | 138 ; TODO: We don't touch the vcredist stuff, since we can't tell a) if we were |
139 ; the ones who installed it and b) if anything else needs it. This may cause | |
140 ; cruft on the users system, so should we tell the user? | |
141 | |
461
11fe3636f755
Fix DOS line endings in NSIS file.
Simon Cross <hodgestar@gmail.com>
parents:
460
diff
changeset
|
142 SectionEnd |