Mercurial > gub
annotate nsis/schikkers-list.nsi @ 6472:51635cbba4b0
schikkers-list.nsi: more desktop invocation tests.
author | Jan Nieuwenhuizen <janneke@gnu.org> |
---|---|
date | Wed, 02 Feb 2011 18:24:26 +0100 |
parents | 9796761cf213 |
children | 15a46d5d6f1b |
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 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
2 ;;;; (c) 2005--2010 |
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 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
98 SectionEnd |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
99 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
100 Function registry_path |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
101 ReadRegStr $R0 HKLM "${ENVIRON}" "PATH" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
102 WriteRegExpandStr HKLM "${ENVIRON}" "PATH" "$R0;$INSTDIR\usr\bin" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
103 FunctionEnd |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
104 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
105 ;; copy & paste from the NSIS code examples |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
106 Function un.install_installed_files |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
107 IfFileExists "$INSTDIR\${UninstLog}" +3 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
108 MessageBox MB_OK|MB_ICONSTOP "$(UninstLogMissing)" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
109 Abort |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
110 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
111 Push $R0 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
112 Push $R1 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
113 Push $R2 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
114 SetFileAttributes "$INSTDIR\${UninstLog}" NORMAL |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
115 FileOpen $UninstLog "$INSTDIR\${UninstLog}" r |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
116 StrCpy $R1 -1 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
117 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
118 GetLineCount: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
119 ClearErrors |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
120 FileRead $UninstLog $R0 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
121 IntOp $R1 $R1 + 1 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
122 StrCpy $R0 "$INSTDIR\$R0" -2 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
123 Push $R0 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
124 IfErrors 0 GetLineCount |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
125 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
126 Pop $R0 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
127 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
128 LoopRead: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
129 StrCmp $R1 0 LoopDone |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
130 Pop $R0 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
131 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
132 IfFileExists "$R0\*.*" 0 +3 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
133 RMDir $R0 #is dir |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
134 Goto +3 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
135 IfFileExists "$R0" 0 +2 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
136 Delete "$R0" #is file |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
137 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
138 IntOp $R1 $R1 - 1 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
139 Goto LoopRead |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
140 LoopDone: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
141 FileClose $UninstLog |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
142 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
143 Pop $R2 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
144 Pop $R1 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
145 Pop $R0 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
146 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
147 FunctionEnd |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
148 ;; end copy & paste |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
149 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
150 ;; Optional section (can be disabled by the user) |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
151 Section "Start Menu Shortcuts" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
152 ;; First install for all users, if anything fails, install |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
153 ;; for current user only. |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
154 ClearErrors |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
155 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
156 ;; The OutPath specifies the CWD of the command. For desktop |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
157 ;; shortcuts, set to a string that expands to the desktop folder |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
158 ;; of the user who runs LilyPond. |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
159 ReadRegStr $R0 HKCU "${USER_SHELL_FOLDERS}" "Desktop" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
160 SetOutPath '"$R0"' |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
161 SetShellVarContext all |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
162 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
163 ;; Working directory: %USERPROFILE%\<locale's-desktop-folder-name>, |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
164 ;; but that string is not expanded. |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
165 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
166 ;; Let's see what happens when outputting to the shared desktop. |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
167 ;; Let's not-- |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
168 ;; Goto current_user |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
169 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
170 SetOutPath "$DESKTOP" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
171 Call create_shortcuts |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
172 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
173 ;; 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
|
174 ;; there. |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
175 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
176 ;; 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
|
177 ;; install for current user only. |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
178 IfErrors 0 exit |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
179 Delete "$DESKTOP\Schikkers-List.lnk" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
180 Delete "$SMPROGRAMS\Schikkers-List\*.*" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
181 RMDir "$SMPROGRAMS\Schikkers-List" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
182 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
183 ;; $DESKTOP should expand to the same location as the outpath above, |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
184 ;; but nsis may handle anomalies better. |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
185 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
186 current_user: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
187 SetShellVarContext current |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
188 SetOutPath "$DESKTOP" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
189 Call create_shortcuts |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
190 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
191 exit: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
192 SetShellVarContext current |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
193 SetOutPath $INSTDIR |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
194 SectionEnd |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
195 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
196 ;; Optional section (can be disabled by the user) |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
197 Section "Bundled Python" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
198 ;; Only make bundled python interpreter the default |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
199 ;; 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
|
200 ;; user who only cares that software works just like that) |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
201 Call registry_python |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
202 SectionEnd |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
203 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
204 ;; Optional section (can be disabled by the user) |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
205 Section "Bundled Guile" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
206 ;; Only make bundled guile interpreter the default |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
207 ;; 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
|
208 ;; user who only cares that software works just like that) |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
209 Call registry_guile |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
210 SectionEnd |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
211 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
212 Section "Uninstall" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
213 ifSilent 0 silent |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
214 Logset on |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
215 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
216 silent: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
217 DeleteRegKey HKLM SOFTWARE\${PRETTY_NAME} |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
218 DeleteRegKey HKLM "${UNINSTALL}" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
219 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
220 DeleteRegKey HKCR "${PRETTY_NAME}" "" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
221 |
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 ReadRegStr $R0 HKLM "${ENVIRON}" "PATH" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
224 ${UnStrLoc} $0 $R0 "$INSTDIR\usr\bin;" > |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
225 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
226 path_loop: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
227 StrCmp $0 "" path_done |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
228 StrLen $1 "$INSTDIR\usr\bin;" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
229 IntOp $2 $0 + $1 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
230 StrCpy $3 $R0 $0 0 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
231 StrCpy $4 $R0 10000 $2 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
232 WriteRegExpandStr HKLM "${ENVIRON}" "PATH" "$3$4" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
233 ReadRegStr $R0 HKLM "${ENVIRON}" "PATH" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
234 ${UnStrLoc} $0 $R0 "$INSTDIR\usr\bin;" > |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
235 StrCmp $0 "" path_done path_loop |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
236 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
237 path_done: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
238 call un.install_installed_files |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
239 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
240 ;; Remove shortcuts, if any |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
241 SetShellVarContext all |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
242 Delete "$SMPROGRAMS\${PRETTY_NAME}\*.*" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
243 Delete "$DESKTOP\${PRETTY_NAME}.lnk" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
244 RMDir "$SMPROGRAMS\${PRETTY_NAME}" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
245 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
246 SetShellVarContext current |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
247 Delete "$SMPROGRAMS\${PRETTY_NAME}\*.*" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
248 Delete "$DESKTOP\${PRETTY_NAME}.lnk" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
249 RMDir "$SMPROGRAMS\${PRETTY_NAME}" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
250 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
251 ;; Remove directories used |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
252 RMDir "$SMPROGRAMS\${PRETTY_NAME}" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
253 RMDir "$INSTDIR\usr\bin" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
254 RMDir "$INSTDIR\usr\" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
255 Delete "$INSTDIR\uninstall.exe" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
256 Delete "$INSTDIR\files.txt" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
257 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
258 RMDir "$INSTDIR" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
259 SectionEnd |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
260 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
261 Function registry_installer |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
262 WriteRegStr HKLM "SOFTWARE\${PRETTY_NAME}" "Install_Dir" "$INSTDIR" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
263 WriteRegStr HKLM "${UNINSTALL}" "DisplayName" "${PRETTY_NAME}" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
264 WriteRegStr HKLM "${UNINSTALL}" "UninstallString" '"$INSTDIR\uninstall.exe"' |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
265 WriteRegDWORD HKLM "${UNINSTALL}" "NoModify" 1 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
266 WriteRegDWORD HKLM "${UNINSTALL}" "NoRepair" 1 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
267 FunctionEnd |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
268 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
269 Function create_shortcuts |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
270 ;; Start menu |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
271 CreateDirectory "$SMPROGRAMS\Schikkers-List" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
272 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
|
273 "$INSTDIR\usr\bin\schikkers-list.scm" ""\ |
9796761cf213
mingw::schikkers-list.nsi: make runnable, at last.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6015
diff
changeset
|
274 "$INSTDIR\usr\share\guile\site\ikli\images\ikli.ico" 0 SW_SHOWNORMAL |
6472
51635cbba4b0
schikkers-list.nsi: more desktop invocation tests.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6462
diff
changeset
|
275 CreateShortCut "$SMPROGRAMS\Schikkers-List\Schikkers-List-NOQUOTE.lnk" \ |
51635cbba4b0
schikkers-list.nsi: more desktop invocation tests.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6462
diff
changeset
|
276 $INSTDIR\usr\bin\schikkers-list.scm ""\ |
51635cbba4b0
schikkers-list.nsi: more desktop invocation tests.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6462
diff
changeset
|
277 "$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
|
278 CreateShortCut "$SMPROGRAMS\Schikkers-List\Schikkers-List Website.lnk" \ |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
279 "http://schikkers-list.org/" "" \ |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
280 "firefox.exe" 0 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
281 CreateShortCut "$SMPROGRAMS\Schikkers-List\Uninstall.lnk" \ |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
282 "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
283 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
284 ;; Desktop |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
285 ClearErrors |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
286 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
287 ;; Desktop link always on current user's desktop |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
288 SetShellVarContext current |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
289 SetOutPath "$DESKTOP" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
290 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
291 ReadRegStr $R0 HKLM \ |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
292 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
293 CreateShortCut "$DESKTOP\Schikkers-List.lnk" \ |
6462
9796761cf213
mingw::schikkers-list.nsi: make runnable, at last.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6015
diff
changeset
|
294 "$INSTDIR\usr\bin\schikkers-list.scm" ""\ |
9796761cf213
mingw::schikkers-list.nsi: make runnable, at last.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6015
diff
changeset
|
295 "$INSTDIR\usr\share\guile\site\ikli\images\ikli.ico" 0 SW_SHOWNORMAL |
6472
51635cbba4b0
schikkers-list.nsi: more desktop invocation tests.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6462
diff
changeset
|
296 CreateShortCut "$DESKTOP\Schikkers-List-NOQUOTE.lnk" \ |
51635cbba4b0
schikkers-list.nsi: more desktop invocation tests.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6462
diff
changeset
|
297 $INSTDIR\usr\bin\schikkers-list.scm ""\ |
51635cbba4b0
schikkers-list.nsi: more desktop invocation tests.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6462
diff
changeset
|
298 "$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
|
299 FunctionEnd |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
300 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
301 Function registry_python |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
302 ReadRegStr $R0 HKLM "${ENVIRON}" "PATHEXT" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
303 ${StrLoc} $0 $R0 ".PY;" > |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
304 StrCmp $0 "" 0 py_done |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
305 WriteRegStr HKLM "${ENVIRON}" "PATHEXT" ".PY;$R0" |
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_done: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
308 WriteRegStr HKCR ".py" "" "Python" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
309 WriteRegStr HKCR ".py" "Python" "Python" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
310 WriteRegStr HKCR ".py" "Content Type" "text/x-python" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
311 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
312 ;;py_open: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
313 ReadRegStr $R0 HKCR "Python\shell\open\command" "" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
314 ;;StrCmp $R0 "" 0 py_auto_file |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
315 WriteRegStr HKCR "Python\shell" "" "open" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
316 # %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
|
317 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
|
318 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
319 ;;py_auto_file: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
320 ReadRegStr $R0 HKCR "py_auto_file\shell\open\command" "" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
321 ;;StrCmp $R0 "" 0 py_end |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
322 WriteRegStr HKCR "py_auto_file\shell" "" "open" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
323 # %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
|
324 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
|
325 ;;py_end: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
326 FunctionEnd |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
327 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
328 Function registry_guile |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
329 ReadRegStr $R0 HKLM "${ENVIRON}" "PATHEXT" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
330 ${StrLoc} $0 $R0 ".SCM;" > |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
331 StrCmp $0 "" 0 scm_done |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
332 WriteRegStr HKLM "${ENVIRON}" "PATHEXT" ".SCM;$R0" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
333 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
334 scm_done: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
335 WriteRegStr HKCR ".scm" "" "Guile" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
336 WriteRegStr HKCR ".scm" "Guile" "Guile" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
337 WriteRegStr HKCR ".scm" "Content Type" "text/x-guile" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
338 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
339 ;;scm_open: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
340 ReadRegStr $R0 HKCR "Guile\shell\open\command" "" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
341 ;;StrCmp $R0 "" 0 scm_auto_file |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
342 WriteRegStr HKCR "Guile\shell" "" "open" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
343 # %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
|
344 ;; WriteRegExpandStr HKCR "Guile\shell\open\command" "" '"$INSTDIR\usr\bin\guile-windows.exe" "%1" %2 %3 %4 %5 %6 %7 %8 %9' |
51635cbba4b0
schikkers-list.nsi: more desktop invocation tests.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6462
diff
changeset
|
345 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
|
346 |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
347 ;;scm_auto_file: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
348 ReadRegStr $R0 HKCR "scm_auto_file\shell\open\command" "" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
349 ;;StrCmp $R0 "" 0 scm_end |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
350 WriteRegStr HKCR "scm_auto_file\shell" "" "open" |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
351 # %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
|
352 ;; WriteRegExpandStr HKCR "scm_auto_file\shell\open\command" "" '"$INSTDIR\usr\bin\guile-windows.exe" "%1" %2 %3 %4 %5 %6 %7 %8 %9' |
51635cbba4b0
schikkers-list.nsi: more desktop invocation tests.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
6462
diff
changeset
|
353 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
|
354 ;;scm_end: |
cc908a87aaa4
schikkers-list: new package.
Jan Nieuwenhuizen <janneke@gnu.org>
parents:
diff
changeset
|
355 FunctionEnd |