362
|
1 |
; $Header$
|
|
2 |
; Script generated by ProjectDefinition.
|
|
3 |
|
|
4 |
!define PRODUCT_NAME "Smalltalk/X"
|
|
5 |
!define PRODUCT_FILENAME "Smalltalk_X"
|
|
6 |
!define PRODUCT_VERSION "7.1.0.0"
|
|
7 |
!define PRODUCT_PUBLISHER "eXept Software AG"
|
|
8 |
!define PRODUCT_WEB_SITE "http://www.exept.de"
|
|
9 |
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_FILENAME}"
|
|
10 |
!define PRODUCT_UNINST_ROOT_KEY "HKLM"
|
|
11 |
|
|
12 |
;
|
|
13 |
; SETUP_NAME can come from makefile as either setup or setup64
|
|
14 |
;
|
|
15 |
!if "${SETUP_NAME}" == ""
|
|
16 |
SETUP_NAME="Smalltalk/XSetup"
|
|
17 |
!endif
|
|
18 |
|
|
19 |
!define STX_ROOT "..\..\..\.."
|
|
20 |
|
|
21 |
SetCompressor /solid lzma
|
|
22 |
|
|
23 |
!include "MUI2.nsh"
|
|
24 |
!include "x64.nsh"
|
|
25 |
|
|
26 |
; MUI Settings
|
|
27 |
|
|
28 |
!define MUI_WELCOMEPAGE_TITLE_3LINES
|
|
29 |
!define MUI_ABORTWARNING
|
|
30 |
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
|
|
31 |
;; !define MUI_ICON "nil.ico"
|
|
32 |
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
|
|
33 |
;; !define MUI_UNICON "nil.ico"
|
|
34 |
|
|
35 |
; Language Selection Dialog Settings
|
|
36 |
!define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}"
|
|
37 |
!define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}"
|
|
38 |
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"
|
|
39 |
|
|
40 |
; Welcome page
|
|
41 |
!insertmacro MUI_PAGE_WELCOME
|
|
42 |
; License page
|
|
43 |
; !define MUI_LICENSEPAGE_CHECKBOX
|
|
44 |
|
|
45 |
|
|
46 |
!insertmacro MUI_PAGE_COMPONENTS
|
|
47 |
; Directory page
|
|
48 |
!insertmacro MUI_PAGE_DIRECTORY
|
|
49 |
; Instfiles page
|
|
50 |
!insertmacro MUI_PAGE_INSTFILES
|
|
51 |
; Finish page
|
|
52 |
!insertmacro MUI_PAGE_FINISH
|
|
53 |
|
|
54 |
; Uninstaller pages
|
|
55 |
!insertmacro MUI_UNPAGE_INSTFILES
|
|
56 |
|
|
57 |
; Language files
|
|
58 |
!insertmacro MUI_LANGUAGE "English"
|
|
59 |
!insertmacro MUI_LANGUAGE "German"
|
|
60 |
|
|
61 |
; MUI end ------
|
|
62 |
|
|
63 |
|
|
64 |
|
|
65 |
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
|
|
66 |
VIProductVersion "${PRODUCT_VERSION}.0"
|
|
67 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "${PRODUCT_NAME}"
|
|
68 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "${PRODUCT_PUBLISHER}"
|
495
|
69 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "7.1.1.7"
|
362
|
70 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "${PRODUCT_NAME} Installer"
|
|
71 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductVersion" "${PRODUCT_VERSION}"
|
|
72 |
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright Claus Gittinger 2017\nCopyright eXept Software AG 2017"
|
|
73 |
|
|
74 |
|
|
75 |
OutFile "${SETUP_NAME}.exe"
|
|
76 |
InstallDir "$PROGRAMFILES\quickSelfTest"
|
|
77 |
ShowInstDetails show
|
|
78 |
ShowUnInstDetails show
|
|
79 |
|
|
80 |
Function .onInit
|
|
81 |
!insertmacro MUI_LANGDLL_DISPLAY
|
|
82 |
FunctionEnd
|
|
83 |
|
|
84 |
InstType Full
|
|
85 |
InstType Partial
|
|
86 |
|
|
87 |
Section "Programme" Section1
|
|
88 |
SectionIn 1 2
|
|
89 |
SetOutPath "$INSTDIR\bin"
|
|
90 |
SetOverwrite ifnewer
|
|
91 |
File "quickSelfTest.com"
|
|
92 |
File "*.dll"
|
|
93 |
File "symbols.stc"
|
|
94 |
File "*.stx"
|
|
95 |
File "*.rc"
|
|
96 |
File /r /x CVS /x ".*" resources
|
|
97 |
|
|
98 |
|
|
99 |
|
|
100 |
|
|
101 |
|
|
102 |
WriteRegStr HKCR "Stx.Smalltalk_X.1" "" "Smalltalk_X File"
|
|
103 |
WriteRegStr HKCR "Stx.Smalltalk_X.1\DefaultIcon" "" '$INSTDIR\bin\quickSelfTest.exe,0'
|
|
104 |
WriteRegStr HKCR "Stx.Smalltalk_X.1\Shell\open" "" $(appOpen)
|
|
105 |
WriteRegStr HKCR "Stx.Smalltalk_X.1\Shell\open\command" "" '"$INSTDIR\bin\quickSelfTest.exe" -- "%1"'
|
|
106 |
SectionEnd
|
|
107 |
|
|
108 |
;; Section "Online-Documentation for Smalltalk/X" Section2
|
|
109 |
;; SectionIn 1
|
|
110 |
;; SetOutPath "$INSTDIR\doc"
|
|
111 |
;; SetOverwrite ifnewer
|
|
112 |
;; File /r /x CVS "${STX_ROOT}\stx\quickSelfTest\doc\*"
|
|
113 |
;; SectionEnd
|
|
114 |
|
|
115 |
;; Section "Smalltalk/X Libraries and Demos" Section3
|
|
116 |
;; SectionIn 1
|
|
117 |
;; SetOutPath "$INSTDIR\lib"
|
|
118 |
;; SetOverwrite ifnewer
|
|
119 |
;; ; File /r /x CVS "${STX_ROOT}\stx\quickSelfTest\examples\*"
|
|
120 |
;; SectionEnd
|
|
121 |
;;
|
|
122 |
;; Section "Smalltalk/X Reports and Printing" Section4
|
|
123 |
;; SectionIn 1
|
|
124 |
;; SetOutPath "$INSTDIR\reportGenerator"
|
|
125 |
;; SetOverwrite ifnewer
|
|
126 |
;; ; File /r /x CVS "..\reportGenerator\java" "..\reportGenerator\rules" "..\reportGenerator\*.xml" "..\reportGenerator\*.xslt" "..\reportGenerator\CloseApp.exe" "..\reportGenerator\expecco.jpg"
|
|
127 |
;; SectionEnd
|
|
128 |
|
|
129 |
|
|
130 |
|
|
131 |
|
|
132 |
|
|
133 |
|
|
134 |
|
|
135 |
|
|
136 |
Section -AdditionalIcons
|
|
137 |
SetOutPath "$INSTDIR\bin"
|
|
138 |
WriteIniStr "$INSTDIR\${PRODUCT_FILENAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
|
|
139 |
CreateDirectory "$SMPROGRAMS\${PRODUCT_FILENAME}"
|
|
140 |
CreateShortCut "$SMPROGRAMS\${PRODUCT_FILENAME}\quickSelfTest.lnk" "$INSTDIR\bin\quickSelfTest.exe"
|
|
141 |
CreateShortCut "$DESKTOP\quickSelfTest.lnk" "$INSTDIR\bin\quickSelfTest.exe"
|
|
142 |
CreateShortCut "$SMPROGRAMS\${PRODUCT_FILENAME}\Website.lnk" "$INSTDIR\${PRODUCT_FILENAME}.url"
|
|
143 |
CreateShortCut "$SMPROGRAMS\${PRODUCT_FILENAME}\Uninstall.lnk" "$INSTDIR\uninst.exe"
|
|
144 |
SectionEnd
|
|
145 |
|
|
146 |
Section -Post
|
|
147 |
WriteUninstaller "$INSTDIR\uninst.exe"
|
|
148 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
|
|
149 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
|
|
150 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
|
|
151 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
|
|
152 |
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
|
153 |
SectionEnd
|
|
154 |
|
|
155 |
LangString appOpen ${LANG_GERMAN} "Mit Smalltalk/X öffnen"
|
|
156 |
LangString appOpen ${LANG_ENGLISH} "Open with Smalltalk/X"
|
|
157 |
|
|
158 |
LangString DESC_Section1 ${LANG_ENGLISH} "Program components of Smalltalk/X"
|
|
159 |
LangString DESC_Section1 ${LANG_GERMAN} "Alle Programmkomponenten von Smalltalk/X"
|
|
160 |
;; LangString DESC_Section2 ${LANG_ENGLISH} "Online-Documentation of Smalltalk/X"
|
|
161 |
;; LangString DESC_Section2 ${LANG_GERMAN} "Online-Dokumentation zu Smalltalk/X"
|
|
162 |
;; LangString DESC_Section3 ${LANG_ENGLISH} "Libraries and Demo Projects"
|
|
163 |
;; LangString DESC_Section3 ${LANG_GERMAN} "Bibliotheken und Beispielprojekte"
|
|
164 |
;; LangString DESC_Section4 ${LANG_ENGLISH} "Logfile Printing and Report Generation"
|
|
165 |
;; LangString DESC_Section4 ${LANG_GERMAN} "Drucken und Report-Generierung aus Log-Dateien"
|
|
166 |
;; LangString DESC_Section3 ${LANG_ENGLISH} "Sources of ST/X (Base-System)"
|
|
167 |
;; LangString DESC_Section3 ${LANG_GERMAN} "Quellcode von ST/X (Basis-System)"
|
|
168 |
;; LangString DESC_Section4 ${LANG_ENGLISH} "Sources of Smalltalk/X"
|
|
169 |
;; LangString DESC_Section4 ${LANG_GERMAN} "Quellcode von Smalltalk/X"
|
|
170 |
|
|
171 |
|
|
172 |
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
|
173 |
!insertmacro MUI_DESCRIPTION_TEXT ${Section1} $(DESC_Section1)
|
|
174 |
;; !insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
|
|
175 |
;; !insertmacro MUI_DESCRIPTION_TEXT ${Section3} $(DESC_Section3)
|
|
176 |
;; !insertmacro MUI_DESCRIPTION_TEXT ${Section4} $(DESC_Section4)
|
|
177 |
|
|
178 |
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|
|
179 |
|
|
180 |
|
|
181 |
|
|
182 |
Function un.onUninstSuccess
|
|
183 |
HideWindow
|
|
184 |
MessageBox MB_ICONINFORMATION|MB_OK "Smalltalk/X wurde erfolgreich deinstalliert"
|
|
185 |
FunctionEnd
|
|
186 |
|
|
187 |
Function un.onInit
|
|
188 |
!insertmacro MUI_UNGETLANGUAGE
|
|
189 |
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Möchten Sie Smalltalk/X und alle seine Komponenten deinstallieren?" IDYES +2
|
|
190 |
Abort
|
|
191 |
FunctionEnd
|
|
192 |
|
|
193 |
Section Uninstall
|
|
194 |
Delete "$INSTDIR\${PRODUCT_FILENAME}.url"
|
|
195 |
Delete "$INSTDIR\uninst.exe"
|
|
196 |
|
|
197 |
Delete "$INSTDIR\*"
|
|
198 |
RMDir /r "$INSTDIR"
|
|
199 |
|
|
200 |
Delete "$SMPROGRAMS\${PRODUCT_FILENAME}\Uninstall.lnk"
|
|
201 |
Delete "$SMPROGRAMS\${PRODUCT_FILENAME}\Website.lnk"
|
|
202 |
Delete "$SMPROGRAMS\${PRODUCT_FILENAME}\quickSelfTest.lnk"
|
|
203 |
Delete "$DESKTOP\quickSelfTest.lnk"
|
|
204 |
|
|
205 |
RMDir "$SMPROGRAMS\${PRODUCT_FILENAME}"
|
|
206 |
|
|
207 |
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
|
|
208 |
DeleteRegKey HKCR "Stx.Smalltalk_X.1"
|
|
209 |
|
|
210 |
|
|
211 |
|
|
212 |
SetAutoClose true
|
|
213 |
SectionEnd
|