annotate nsis/schikkers-list.nsi @ 6492:5bab80dd593a

mingw::schikkers-list: --no-autocompile and install Emmentaler font.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Tue, 08 Feb 2011 12:33:54 +0100
parents c79ddba57147
children 1ee835259b55
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6015
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
1 ;;;; schikkers-list.nsi -- Schikkers-List installer script for Microsoft Windows
6492
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
2 ;;;; (c) 2005--2011
6015
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
3 ;;;; Jan Nieuwenhuizen <janneke@gnu.org>
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
4 ;;;; Han-Wen Nienhuys <janneke@gnu.org>
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
5 ;;;; licence: GNU GPL
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
6
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
7 ;; For quick [wine] test runs
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
8 ;; !define TEST "1"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
9
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
10
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
11 ;;; substitutions
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
12
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
13 !define ENVIRON "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
14
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
15 !define UNINSTALL \
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
16 "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRETTY_NAME}"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
17 !define USER_SHELL_FOLDERS \
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
18 "Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
19
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
20 !define UninstLog "files.txt"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
21 Var UninstLog
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
22
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
23 ; Uninstall log file missing.
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
24 LangString UninstLogMissing ${LANG_ENGLISH} "${UninstLog} not found.$\r$\nCannot uninstall."
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
25
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
26 !include "substitute.nsh"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
27 ${StrLoc}
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
28 ${UnStrLoc}
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
29
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
30 ;;SetCompressor lzma ; very slow
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
31 ;;SetCompressor zlib
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
32 SetCompressor bzip2 ;;
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
33
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
34 Name "${PRETTY_NAME}"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
35
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
36 Caption "${PRETTY_NAME} ${INSTALLER_VERSION} for Microsoft Windows"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
37 BrandingText "${PRETTY_NAME} installer v1.0"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
38
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
39
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
40 InstallDir $PROGRAMFILES\${PRETTY_NAME}
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
41 InstallDirRegKey HKLM "Software\${PRETTY_NAME}" "Install_Dir"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
42
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
43 CRCCheck on
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
44 XPStyle on
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
45 InstallColors /windows
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
46
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
47 BGGradient 000000 E8FFE8 FFFFFF
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
48
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
49 ;; Use Finish iso Close for the [close button text]
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
50 ;; Although nothing happens after Close, experienced Windows users feel
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
51 ;; much more with "Finish" than with Close.
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
52 MiscButtonText Back Next Cancel Finish
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
53
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
54 LicenseText "Conditions for redistributing ${PRETTY_NAME}" "Next"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
55 LicenseData "${ROOT}\license\${NAME}"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
56 LicenseForceSelection off
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
57
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
58 Page license
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
59
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
60 ;; FIXME: the installer will crash on File /r commands if Page
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
61 ;; directory is not used.
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
62 Page directory
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
63
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
64 Page components
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
65
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
66 ;; Put a note to look at the Help page of the website on the
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
67 ;; window when the install is completed
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
68 CompletedText "Install completed. Please see $INSTDIR\usr\bin\${CANARY_EXE}."
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
69 Page instfiles
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
70
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
71 UninstPage uninstConfirm
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
72 UninstPage instfiles
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
73
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
74 Section "${PRETTY_NAME} (required)"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
75 ;; always generate install log
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
76 Logset on
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
77
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
78 silent:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
79 IfFileExists $INSTDIR\usr\bin\${CANARY_EXE}.exe no_overwrite_error fresh_install
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
80 no_overwrite_error:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
81 MessageBox MB_OK "Previous version of ${PRETTY_NAME} found$\r$\nUninstall the old version first."
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
82 Abort "Previous version of ${PRETTY_NAME} found$\r$\nUninstall the old version first."
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
83
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
84 fresh_install:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
85 SetOverwrite on
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
86 AllowSkipFiles on
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
87 SetOutPath $INSTDIR
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
88
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
89 File /r "${ROOT}\usr"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
90 File /r "${ROOT}\license"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
91 File /r "${ROOT}\files.txt"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
92
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
93 WriteUninstaller "uninstall.exe"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
94 CreateDirectory "$INSTDIR\usr\bin"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
95
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
96 Call registry_installer
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
97 Call registry_path
6492
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
98 Call postinstall_schikkers_list
6015
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
99 SectionEnd
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
100
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
101 Function registry_path
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
102 ReadRegStr $R0 HKLM "${ENVIRON}" "PATH"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
103 WriteRegExpandStr HKLM "${ENVIRON}" "PATH" "$R0;$INSTDIR\usr\bin"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
104 FunctionEnd
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
105
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
106 ;; copy & paste from the NSIS code examples
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
107 Function un.install_installed_files
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
108 IfFileExists "$INSTDIR\${UninstLog}" +3
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
109 MessageBox MB_OK|MB_ICONSTOP "$(UninstLogMissing)"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
110 Abort
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
111
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
112 Push $R0
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
113 Push $R1
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
114 Push $R2
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
115 SetFileAttributes "$INSTDIR\${UninstLog}" NORMAL
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
116 FileOpen $UninstLog "$INSTDIR\${UninstLog}" r
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
117 StrCpy $R1 -1
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
118
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
119 GetLineCount:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
120 ClearErrors
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
121 FileRead $UninstLog $R0
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
122 IntOp $R1 $R1 + 1
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
123 StrCpy $R0 "$INSTDIR\$R0" -2
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
124 Push $R0
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
125 IfErrors 0 GetLineCount
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
126
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
127 Pop $R0
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
128
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
129 LoopRead:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
130 StrCmp $R1 0 LoopDone
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
131 Pop $R0
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
132
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
133 IfFileExists "$R0\*.*" 0 +3
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
134 RMDir $R0 #is dir
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
135 Goto +3
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
136 IfFileExists "$R0" 0 +2
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
137 Delete "$R0" #is file
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
138
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
139 IntOp $R1 $R1 - 1
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
140 Goto LoopRead
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
141 LoopDone:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
142 FileClose $UninstLog
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
143
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
144 Pop $R2
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
145 Pop $R1
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
146 Pop $R0
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
147
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
148 FunctionEnd
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
149 ;; end copy & paste
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
150
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
151 ;; Optional section (can be disabled by the user)
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
152 Section "Start Menu Shortcuts"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
153 ;; First install for all users, if anything fails, install
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
154 ;; for current user only.
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
155 ClearErrors
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
156
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
157 ;; The OutPath specifies the CWD of the command. For desktop
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
158 ;; shortcuts, set to a string that expands to the desktop folder
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
159 ;; of the user who runs LilyPond.
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
160 ReadRegStr $R0 HKCU "${USER_SHELL_FOLDERS}" "Desktop"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
161 SetOutPath '"$R0"'
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
162 SetShellVarContext all
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
163
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
164 ;; Working directory: %USERPROFILE%\<locale's-desktop-folder-name>,
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
165 ;; but that string is not expanded.
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
166
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
167 ;; Let's see what happens when outputting to the shared desktop.
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
168 ;; Let's not--
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
169 ;; Goto current_user
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
170
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
171 SetOutPath "$DESKTOP"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
172 Call create_shortcuts
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
173
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
174 ;; That also did not work, often the other users do no write access
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
175 ;; there.
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
176
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
177 ;; If no write access for all, delete common stuff and opt for
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
178 ;; install for current user only.
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
179 IfErrors 0 exit
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
180 Delete "$DESKTOP\Schikkers-List.lnk"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
181 Delete "$SMPROGRAMS\Schikkers-List\*.*"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
182 RMDir "$SMPROGRAMS\Schikkers-List"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
183
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
184 ;; $DESKTOP should expand to the same location as the outpath above,
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
185 ;; but nsis may handle anomalies better.
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
186
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
187 current_user:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
188 SetShellVarContext current
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
189 SetOutPath "$DESKTOP"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
190 Call create_shortcuts
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
191
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
192 exit:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
193 SetShellVarContext current
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
194 SetOutPath $INSTDIR
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
195 SectionEnd
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
196
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
197 ;; Optional section (can be disabled by the user)
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
198 Section "Bundled Python"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
199 ;; Only make bundled python interpreter the default
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
200 ;; if user wants it to be (i.e. for the average windows
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
201 ;; user who only cares that software works just like that)
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
202 Call registry_python
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
203 SectionEnd
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
204
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
205 ;; Optional section (can be disabled by the user)
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
206 Section "Bundled Guile"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
207 ;; Only make bundled guile interpreter the default
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
208 ;; if user wants it to be (i.e. for the average windows
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
209 ;; user who only cares that software works just like that)
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
210 Call registry_guile
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
211 SectionEnd
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
212
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
213 Section "Uninstall"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
214 ifSilent 0 silent
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
215 Logset on
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
216
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
217 silent:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
218 DeleteRegKey HKLM SOFTWARE\${PRETTY_NAME}
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
219 DeleteRegKey HKLM "${UNINSTALL}"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
220
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
221 DeleteRegKey HKCR "${PRETTY_NAME}" ""
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
222
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
223
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
224 ReadRegStr $R0 HKLM "${ENVIRON}" "PATH"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
225 ${UnStrLoc} $0 $R0 "$INSTDIR\usr\bin;" >
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
226
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
227 path_loop:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
228 StrCmp $0 "" path_done
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
229 StrLen $1 "$INSTDIR\usr\bin;"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
230 IntOp $2 $0 + $1
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
231 StrCpy $3 $R0 $0 0
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
232 StrCpy $4 $R0 10000 $2
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
233 WriteRegExpandStr HKLM "${ENVIRON}" "PATH" "$3$4"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
234 ReadRegStr $R0 HKLM "${ENVIRON}" "PATH"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
235 ${UnStrLoc} $0 $R0 "$INSTDIR\usr\bin;" >
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
236 StrCmp $0 "" path_done path_loop
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
237
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
238 path_done:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
239 call un.install_installed_files
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
240
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
241 ;; Remove shortcuts, if any
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
242 SetShellVarContext all
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
243 Delete "$SMPROGRAMS\${PRETTY_NAME}\*.*"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
244 Delete "$DESKTOP\${PRETTY_NAME}.lnk"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
245 RMDir "$SMPROGRAMS\${PRETTY_NAME}"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
246
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
247 SetShellVarContext current
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
248 Delete "$SMPROGRAMS\${PRETTY_NAME}\*.*"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
249 Delete "$DESKTOP\${PRETTY_NAME}.lnk"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
250 RMDir "$SMPROGRAMS\${PRETTY_NAME}"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
251
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
252 ;; Remove directories used
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
253 RMDir "$SMPROGRAMS\${PRETTY_NAME}"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
254 RMDir "$INSTDIR\usr\bin"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
255 RMDir "$INSTDIR\usr\"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
256 Delete "$INSTDIR\uninstall.exe"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
257 Delete "$INSTDIR\files.txt"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
258
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
259 RMDir "$INSTDIR"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
260 SectionEnd
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
261
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
262 Function registry_installer
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
263 WriteRegStr HKLM "SOFTWARE\${PRETTY_NAME}" "Install_Dir" "$INSTDIR"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
264 WriteRegStr HKLM "${UNINSTALL}" "DisplayName" "${PRETTY_NAME}"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
265 WriteRegStr HKLM "${UNINSTALL}" "UninstallString" '"$INSTDIR\uninstall.exe"'
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
266 WriteRegDWORD HKLM "${UNINSTALL}" "NoModify" 1
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
267 WriteRegDWORD HKLM "${UNINSTALL}" "NoRepair" 1
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
268 FunctionEnd
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
269
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
270 Function create_shortcuts
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
271 ;; Start menu
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
272 CreateDirectory "$SMPROGRAMS\Schikkers-List"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
273 CreateShortCut "$SMPROGRAMS\Schikkers-List\Schikkers-List.lnk" \
6462
9796761cf213 mingw::schikkers-list.nsi: make runnable, at last.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6015
diff changeset
274 "$INSTDIR\usr\bin\schikkers-list.scm" ""\
9796761cf213 mingw::schikkers-list.nsi: make runnable, at last.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6015
diff changeset
275 "$INSTDIR\usr\share\guile\site\ikli\images\ikli.ico" 0 SW_SHOWNORMAL
6015
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
276 CreateShortCut "$SMPROGRAMS\Schikkers-List\Schikkers-List Website.lnk" \
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
277 "http://schikkers-list.org/" "" \
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
278 "firefox.exe" 0
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
279 CreateShortCut "$SMPROGRAMS\Schikkers-List\Uninstall.lnk" \
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
280 "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
281
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
282 ;; Desktop
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
283 ClearErrors
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
284
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
285 ;; Desktop link always on current user's desktop
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
286 SetShellVarContext current
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
287 SetOutPath "$DESKTOP"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
288
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
289 ReadRegStr $R0 HKLM \
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
290 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
291 CreateShortCut "$DESKTOP\Schikkers-List.lnk" \
6462
9796761cf213 mingw::schikkers-list.nsi: make runnable, at last.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6015
diff changeset
292 "$INSTDIR\usr\bin\schikkers-list.scm" ""\
9796761cf213 mingw::schikkers-list.nsi: make runnable, at last.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6015
diff changeset
293 "$INSTDIR\usr\share\guile\site\ikli\images\ikli.ico" 0 SW_SHOWNORMAL
6015
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
294 FunctionEnd
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
295
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
296 Function registry_python
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
297 ReadRegStr $R0 HKLM "${ENVIRON}" "PATHEXT"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
298 ${StrLoc} $0 $R0 ".PY;" >
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
299 StrCmp $0 "" 0 py_done
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
300 WriteRegStr HKLM "${ENVIRON}" "PATHEXT" ".PY;$R0"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
301
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
302 py_done:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
303 WriteRegStr HKCR ".py" "" "Python"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
304 WriteRegStr HKCR ".py" "Python" "Python"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
305 WriteRegStr HKCR ".py" "Content Type" "text/x-python"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
306
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
307 ;;py_open:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
308 ReadRegStr $R0 HKCR "Python\shell\open\command" ""
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
309 ;;StrCmp $R0 "" 0 py_auto_file
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
310 WriteRegStr HKCR "Python\shell" "" "open"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
311 # %1 is the PYTHON command, so must be quoted bo the space
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
312 WriteRegExpandStr HKCR "Python\shell\open\command" "" '"$INSTDIR\usr\bin\python-windows.exe" "%1" %2 %3 %4 %5 %6 %7 %8 %9'
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
313
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
314 ;;py_auto_file:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
315 ReadRegStr $R0 HKCR "py_auto_file\shell\open\command" ""
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
316 ;;StrCmp $R0 "" 0 py_end
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
317 WriteRegStr HKCR "py_auto_file\shell" "" "open"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
318 # %1 is the PYTHON command, so must be quoted bo the space
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
319 WriteRegExpandStr HKCR "py_auto_file\shell\open\command" "" '"$INSTDIR\usr\bin\python-windows.exe" "%1" %2 %3 %4 %5 %6 %7 %8 %9'
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
320 ;;py_end:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
321 FunctionEnd
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
322
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
323 Function registry_guile
6490
c79ddba57147 schikkers-list.nsi: set $LOCALAPPDATA.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6486
diff changeset
324 WriteRegStr HKLM "${ENVIRON}" "XDG_CACHE_HOME" "$LOCALAPPDATA\cache"
6015
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
325 ReadRegStr $R0 HKLM "${ENVIRON}" "PATHEXT"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
326 ${StrLoc} $0 $R0 ".SCM;" >
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
327 StrCmp $0 "" 0 scm_done
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
328 WriteRegStr HKLM "${ENVIRON}" "PATHEXT" ".SCM;$R0"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
329
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
330 scm_done:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
331 WriteRegStr HKCR ".scm" "" "Guile"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
332 WriteRegStr HKCR ".scm" "Guile" "Guile"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
333 WriteRegStr HKCR ".scm" "Content Type" "text/x-guile"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
334
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
335 ;;scm_open:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
336 ReadRegStr $R0 HKCR "Guile\shell\open\command" ""
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
337 ;;StrCmp $R0 "" 0 scm_auto_file
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
338 WriteRegStr HKCR "Guile\shell" "" "open"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
339 # %1 is the GUILE command, so must be quoted bo the space
6472
51635cbba4b0 schikkers-list.nsi: more desktop invocation tests.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6462
diff changeset
340 ;; WriteRegExpandStr HKCR "Guile\shell\open\command" "" '"$INSTDIR\usr\bin\guile-windows.exe" "%1" %2 %3 %4 %5 %6 %7 %8 %9'
6486
7a841bb2369b schikkers-list.nsi: make click-runnable on windows.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6472
diff changeset
341 WriteRegExpandStr HKCR "Guile\shell\open\command" "" '"$INSTDIR\usr\bin\guile-windows.exe" "%1" %2 %3 %4 %5 %6 %7 %8 %9'
6015
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
342
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
343 ;;scm_auto_file:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
344 ReadRegStr $R0 HKCR "scm_auto_file\shell\open\command" ""
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
345 ;;StrCmp $R0 "" 0 scm_end
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
346 WriteRegStr HKCR "scm_auto_file\shell" "" "open"
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
347 # %1 is the GUILE command, so must be quoted bo the space
6472
51635cbba4b0 schikkers-list.nsi: more desktop invocation tests.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6462
diff changeset
348 ;; WriteRegExpandStr HKCR "scm_auto_file\shell\open\command" "" '"$INSTDIR\usr\bin\guile-windows.exe" "%1" %2 %3 %4 %5 %6 %7 %8 %9'
6486
7a841bb2369b schikkers-list.nsi: make click-runnable on windows.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6472
diff changeset
349 WriteRegExpandStr HKCR "scm_auto_file\shell\open\command" "" '"$INSTDIR\usr\bin\guile-windows.exe" "%1" %2 %3 %4 %5 %6 %7 %8 %9'
6015
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
350 ;;scm_end:
cc908a87aaa4 schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff changeset
351 FunctionEnd
6492
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
352
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
353 !include "FontName.nsh"
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
354 !include "FontReg.nsh"
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
355
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
356 Function postinstall_schikkers_list
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
357 CopyFiles /silent "$INSTDIR\usr\share\lilypond\current\fonts\otf\Emmentaler-20.otf" "$WINDIR\Fonts\Emmentaler-20.otf"
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
358 StrCpy $FONT_DIR "$WINDIR\Fonts"
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
359 !insertmacro InstallTTFFont "${ROOT}\usr\share\lilypond\current\fonts\otf\Emmentaler-20.otf"
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
360 ClearErrors
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
361 FunctionEnd
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
362
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
363 Function un.install_schikkers_list_ttf
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
364 Delete "$WINDIR\Fonts\Emmentaler-20.otf"
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
365 ClearErrors
5bab80dd593a mingw::schikkers-list: --no-autocompile and install Emmentaler font.
Jan Nieuwenhuizen <janneke@gnu.org>
parents: 6490
diff changeset
366 FunctionEnd