1 ;OpenAFS Install Script for NSIS
2 ; This version compiles with NSIS v2.0
4 ; Originally written by Rob Murawski <rsm4@ieee.org>
6 ;Redistribution and use in source and binary forms, with or without modification, are permitted
7 ;provided that the following conditions are met:
9 ; Redistributions of source code must retain the above copyright notice, this list of conditions
10 ; and the following disclaimer. Redistributions in binary form must reproduce the above copyright
11 ; notice, this list of conditions and the following disclaimer in the documentation and/or other
12 ; materials provided with the distribution. The name of the author may not be used to endorse or
13 ; promote products derived from this software without specific prior written permission.
15 ; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
16 ; INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
17 ; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
18 ; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
19 ; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
20 ; BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
21 ; STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
22 ; USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 ; Some code originally based on:
26 ; NSIS Modern User Interface version 1.63
27 ; MultiLanguage Example Script
28 ; Written by Joost Verburg
30 ; Read in the environment information
31 !include ${INCLUDEDIR}\nsi-includes.nsi
35 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__}"
37 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__} Checked/Debug"
38 !endif ; End DEBUG/!DEBUG
41 Name "OpenAFS ${AFS_VERSION}"
43 Name "OpenAFS ${AFS_VERSION} Checked/Debug"
44 !endif ; End DEBUG/!DEBUG
46 VIProductVersion "${AFS_VERSION}.00"
47 VIAddVersionKey "ProductName" "OpenAFS"
48 VIAddVersionKey "CompanyName" "OpenAFS.org"
49 VIAddVersionKey "ProductVersion" ${AFS_VERSION}
50 VIAddVersionKey "FileVersion" ${AFS_VERSION}
51 VIAddVersionKey "FileDescription" "OpenAFS for Windows Installer"
52 VIAddVersionKey "LegalCopyright" "(C)2000-2004"
54 VIAddVersionKey "PrivateBuild" "Checked/Debug"
61 ;--------------------------------
64 !define REPLACEDLL_NOREGISTER
68 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows.exe"
70 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows-DEBUG.exe"
74 !define MUI_ICON "..\..\client_config\afs_config.ico"
75 !define MUI_UNICON "..\..\client_config\afs_config.ico"
76 !define AFS_COMPANY_NAME "OpenAFS"
77 !define AFS_PRODUCT_NAME "OpenAFS"
78 !define AFS_REGKEY_ROOT "Software\TransarcCorporation"
81 ;Folder selection page
82 InstallDir "$PROGRAMFILES\OpenAFS" ; Install to shorter path
84 ;Remember install folder
85 InstallDirRegKey HKCU ${AFS_REGKEY_ROOT} ""
87 ;Remember the installer language
88 !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
89 !define MUI_LANGDLL_REGISTRY_KEY ${AFS_REGKEY_ROOT}
90 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
93 !define AFS_CLIENT_BUILDDIR "${AFS_DESTDIR}\root.client\usr\vice\etc"
94 !define AFS_WININSTALL_DIR "${AFS_DESTDIR}\WinInstall\Config"
95 !define AFS_BUILD_INCDIR "${AFS_DESTDIR}\include"
96 !define AFS_CLIENT_LIBDIR "${AFS_DESTDIR}\lib"
97 !define AFS_SERVER_BUILDDIR "${AFS_DESTDIR}\root.server\usr\afs\bin"
98 !define AFS_ETC_BUILDDIR "${AFS_DESTDIR}\etc"
99 !define SYSTEMDIR "$%SystemRoot%\System32"
101 ;--------------------------------
102 ;Modern UI Configuration
104 ;!define MUI_LICENSEPAGE
105 !define MUI_CUSTOMPAGECOMMANDS
106 !define MUI_WELCOMEPAGE
107 !define MUI_COMPONENTSPAGE
108 !define MUI_COMPONENTSPAGE_SMALLDESC
109 !define MUI_DIRECTORYPAGE
111 !define MUI_ABORTWARNING
112 !define MUI_FINISHPAGE
114 !define MUI_UNINSTALLER
115 !define MUI_UNCONFIRMPAGE
118 !insertmacro MUI_PAGE_WELCOME
119 !insertmacro MUI_PAGE_COMPONENTS
120 !insertmacro MUI_PAGE_DIRECTORY
121 Page custom AFSPageGetCellServDB
122 Page custom AFSPageGetCellName
123 Page custom AFSPageConfigAFSCreds
124 !insertmacro MUI_PAGE_INSTFILES
125 !insertmacro MUI_PAGE_FINISH
127 ;LicenseData "Licenses.rtf"
128 ;--------------------------------
131 !insertmacro MUI_LANGUAGE "English"
132 ;!insertmacro MUI_LANGUAGE "French"
133 !insertmacro MUI_LANGUAGE "German"
134 !insertmacro MUI_LANGUAGE "Spanish"
135 !insertmacro MUI_LANGUAGE "SimpChinese"
136 !insertmacro MUI_LANGUAGE "TradChinese"
137 !insertmacro MUI_LANGUAGE "Japanese"
138 !insertmacro MUI_LANGUAGE "Korean"
139 ;!insertmacro MUI_LANGUAGE "Italian"
140 ;!insertmacro MUI_LANGUAGE "Dutch"
141 ;!insertmacro MUI_LANGUAGE "Danish"
142 ;!insertmacro MUI_LANGUAGE "Greek"
143 ;!insertmacro MUI_LANGUAGE "Russian"
144 !insertmacro MUI_LANGUAGE "PortugueseBR"
145 ;!insertmacro MUI_LANGUAGE "Polish"
146 ;!insertmacro MUI_LANGUAGE "Ukrainian"
147 ;!insertmacro MUI_LANGUAGE "Czech"
148 ;!insertmacro MUI_LANGUAGE "Slovak"
149 ;!insertmacro MUI_LANGUAGE "Croatian"
150 ;!insertmacro MUI_LANGUAGE "Bulgarian"
151 ;!insertmacro MUI_LANGUAGE "Hungarian"
152 ;!insertmacro MUI_LANGUAGE "Thai"
153 ;!insertmacro MUI_LANGUAGE "Romanian"
154 ;!insertmacro MUI_LANGUAGE "Macedonian"
155 ;!insertmacro MUI_LANGUAGE "Turkish"
157 ;--------------------------------
161 LangString DESC_SecCopyUI ${LANG_ENGLISH} "OpenAFS for Windows: English"
162 ;LangString DESC_SecCopyUI ${LANG_FRENCH} "OpenAFS for Windows: French"
163 LangString DESC_SecCopyUI ${LANG_GERMAN} "OpenAFS for Windows: German"
164 LangString DESC_SecCopyUI ${LANG_SPANISH} "OpenAFS for Windows: Spanish"
165 LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "OpenAFS for Windows: Simplified Chinese"
166 LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "OpenAFS for Windows: Traditional Chinese description"
167 LangString DESC_SecCopyUI ${LANG_JAPANESE} "OpenAFS for Windows: Japanese description"
168 LangString DESC_SecCopyUI ${LANG_KOREAN} "OpenAFS for Windows: Korean description"
169 ;LangString DESC_SecCopyUI ${LANG_ITALIAN} "OpenAFS for Windows: Italian description"
170 ;LangString DESC_SecCopyUI ${LANG_DUTCH} "OpenAFS for Windows: Dutch description"
171 ;LangString DESC_SecCopyUI ${LANG_DANISH} "OpenAFS for Windows: Danish description"
172 ;LangString DESC_SecCopyUI ${LANG_GREEK} "OpenAFS for Windows: Greek description"
173 ;LangString DESC_SecCopyUI ${LANG_RUSSIAN} "OpenAFS for Windows: Russian description"
174 LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "OpenAFS for Windows: Portuguese (Brasil) description"
175 ;LangString DESC_SecCopyUI ${LANG_POLISH} "OpenAFS for Windows: Polish description"
176 ;LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "OpenAFS for Windows: Ukrainian description"
177 ;LangString DESC_SecCopyUI ${LANG_CZECH} "OpenAFS for Windows: Czechian description"
178 ;LangString DESC_SecCopyUI ${LANG_SLOVAK} "OpenAFS for Windows: Slovakian description"
179 ;LangString DESC_SecCopyUI ${LANG_CROATIAN} "OpenAFS for Windows: Slovakian description"
180 ;LangString DESC_SecCopyUI ${LANG_BULGARIAN} "OpenAFS for Windows: Bulgarian description"
181 ;LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "OpenAFS for Windows: Hungarian description"
182 ;LangString DESC_SecCopyUI ${LANG_THAI} "OpenAFS for Windows: Thai description"
183 ;LangString DESC_SecCopyUI ${LANG_ROMANIAN} "OpenAFS for Windows: Romanian description"
184 ;LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "OpenAFS for Windows: Macedonian description"
185 ;LangString DESC_SecCopyUI ${LANG_TURKISH} "OpenAFS for Windows: Turkish description"
187 LangString DESC_secClient ${LANG_ENGLISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
188 LangString DESC_secClient ${LANG_GERMAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
189 LangString DESC_secClient ${LANG_SPANISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
190 LangString DESC_secClient ${LANG_SIMPCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
191 LangString DESC_secClient ${LANG_TRADCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
192 LangString DESC_secClient ${LANG_JAPANESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
193 LangString DESC_secClient ${LANG_KOREAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
194 LangString DESC_secClient ${LANG_PORTUGUESEBR} "OpenAFS Client: Allows you to access AFS from your Windows PC."
196 LangString DESC_secLoopback ${LANG_ENGLISH} "MS Loopback adapter: Installs the adapter for a more reliable AFS client. Not recommended for Windows 2000"
197 LangString DESC_secLoopback ${LANG_GERMAN} "MS Loopback adapter: Installs the adapter for a more reliable AFS client. Not recommended for Windows 2000"
198 LangString DESC_secLoopback ${LANG_SPANISH} "MS Loopback adapter: Installs the adapter for a more reliable AFS client. Not recommended for Windows 2000"
199 LangString DESC_secLoopback ${LANG_SIMPCHINESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client. Not recommended for Windows 2000"
200 LangString DESC_secLoopback ${LANG_TRADCHINESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client. Not recommended for Windows 2000"
201 LangString DESC_secLoopback ${LANG_JAPANESE} "MS Loopback adapter: Installs the adapter for a more reliable AFS client. Not recommended for Windows 2000"
202 LangString DESC_secLoopback ${LANG_KOREAN} "MS Loopback adapter: Installs the adapter for a more reliable AFS client. Not recommended for Windows 2000"
203 LangString DESC_secLoopback ${LANG_PORTUGUESEBR} "MS Loopback adapter: Installs the adapter for a more reliable AFS client. Not recommended for Windows 2000"
205 LangString DESC_secServer ${LANG_ENGLISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
206 LangString DESC_secServer ${LANG_GERMAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
207 LangString DESC_secServer ${LANG_SPANISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
208 LangString DESC_secServer ${LANG_SIMPCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
209 LangString DESC_secServer ${LANG_TRADCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
210 LangString DESC_secServer ${LANG_JAPANESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
211 LangString DESC_secServer ${LANG_KOREAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
212 LangString DESC_secServer ${LANG_PORTUGUESEBR} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
214 LangString DESC_secControl ${LANG_ENGLISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
215 LangString DESC_secControl ${LANG_GERMAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
216 LangString DESC_secControl ${LANG_SPANISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
217 LangString DESC_secControl ${LANG_SIMPCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
218 LangString DESC_secControl ${LANG_TRADCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
219 LangString DESC_secControl ${LANG_JAPANESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
220 LangString DESC_secControl ${LANG_KOREAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
221 LangString DESC_secControl ${LANG_PORTUGUESEBR} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
223 LangString DESC_secDocs ${LANG_ENGLISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
224 LangString DESC_secDocs ${LANG_GERMAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
225 LangString DESC_secDocs ${LANG_SPANISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
226 LangString DESC_secDocs ${LANG_SIMPCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
227 LangString DESC_secDocs ${LANG_TRADCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
228 LangString DESC_secDocs ${LANG_JAPANESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
229 LangString DESC_secDocs ${LANG_KOREAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
230 LangString DESC_secDocs ${LANG_PORTUGUESEBR} "Supplemental Documentation: Additional documentation for using OpenAFS."
232 LangString DESC_secSDK ${LANG_ENGLISH} "SDK: Header files and libraries for developing software with OpenAFS."
233 LangString DESC_secSDK ${LANG_GERMAN} "SDK: Header files and libraries for developing software with OpenAFS."
234 LangString DESC_secSDK ${LANG_SPANISH} "SDK: Header files and libraries for developing software with OpenAFS."
235 LangString DESC_secSDK ${LANG_SIMPCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
236 LangString DESC_secSDK ${LANG_TRADCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
237 LangString DESC_secSDK ${LANG_JAPANESE} "SDK: Header files and libraries for developing software with OpenAFS."
238 LangString DESC_secSDK ${LANG_KOREAN} "SDK: Header files and libraries for developing software with OpenAFS."
239 LangString DESC_secSDK ${LANG_PORTUGUESEBR} "SDK: Header files and libraries for developing software with OpenAFS."
241 LangString DESC_secDEBUG ${LANG_ENGLISH} "Debug symbols: Used for debugging problems with OpenAFS."
242 LangString DESC_secDEBUG ${LANG_GERMAN} "Debug symbols: Used for debugging problems with OpenAFS."
243 LangString DESC_secDEBUG ${LANG_SPANISH} "Debug symbols: Used for debugging problems with OpenAFS."
244 LangString DESC_secDEBUG ${LANG_SIMPCHINESE} "Debug symbols: Used for debugging problems with OpenAFS."
245 LangString DESC_secDEBUG ${LANG_TRADCHINESE} "Debug symbols: Used for debugging problems with OpenAFS."
246 LangString DESC_secDEBUG ${LANG_JAPANESE} "Debug symbols: Used for debugging problems with OpenAFS."
247 LangString DESC_secDEBUG ${LANG_KOREAN} "Debug symbols: Used for debugging problems with OpenAFS."
248 LangString DESC_secDEBUG ${LANG_PORTUGUESEBR} "Debug symbols: Used for debugging problems with OpenAFS."
250 ; Popup error messages
251 LangString CellError ${LANG_ENGLISH} "You must specify a valid CellServDB file to copy during install"
252 LangString CellError ${LANG_GERMAN} "You must specify a valid CellServDB file to copy during the install"
253 LangString CellError ${LANG_SPANISH} "You must specify a valid CellServDB file to copy during the install"
254 LangString CellError ${LANG_SIMPCHINESE} "You must specify a valid CellServDB file to copy during the install"
255 LangString CellError ${LANG_TRADCHINESE} "You must specify a valid CellServDB file to copy during the install"
256 LangString CellError ${LANG_JAPANESE} "You must specify a valid CellServDB file to copy during the install"
257 LangString CellError ${LANG_KOREAN} "You must specify a valid CellServDB file to copy during the install"
258 LangString CellError ${LANG_PORTUGUESEBR} "You must specify a valid CellServDB file to copy during the install"
260 LangString CellNameError ${LANG_ENGLISH} "You must specify a cell name for your client to use."
261 LangString CellNameError ${LANG_GERMAN} "You must specify a cell name for your client to use."
262 LangString CellNameError ${LANG_SPANISH} "You must specify a cell name for your client to use."
263 LangString CellNameError ${LANG_SIMPCHINESE} "You must specify a cell name for your client to use."
264 LangString CellNameError ${LANG_TRADCHINESE} "You must specify a cell name for your client to use."
265 LangString CellNameError ${LANG_JAPANESE} "You must specify a cell name for your client to use."
266 LangString CellNameError ${LANG_KOREAN} "You must specify a cell name for your client to use."
267 LangString CellNameError ${LANG_PORTUGUESEBR} "You must specify a cell name for your client to use."
269 LangString URLError ${LANG_ENGLISH} "You must specify a URL if you choose the option to download the CellServDB."
270 LangString URLError ${LANG_GERMAN} "You must specify a URL if you choose the option to download the CellServDB."
271 LangString URLError ${LANG_SPANISH} "You must specify a URL if you choose the option to download the CellServDB."
272 LangString URLError ${LANG_SIMPCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
273 LangString URLError ${LANG_TRADCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
274 LangString URLError ${LANG_JAPANESE} "You must specify a URL if you choose the option to download the CellServDB."
275 LangString URLError ${LANG_KOREAN} "You must specify a URL if you choose the option to download the CellServDB."
276 LangString URLError ${LANG_PORTUGUESEBR} "You must specify a URL if you choose the option to download the CellServDB."
279 ; Upgrade/re-install strings
280 LangString UPGRADE_CLIENT ${LANG_ENGLISH} "Upgrade AFS Client"
281 LangString UPGRADE_CLIENT ${LANG_GERMAN} "Upgrade AFS Client"
282 LangString UPGRADE_CLIENT ${LANG_SPANISH} "Upgrade AFS Client"
283 LangString UPGRADE_CLIENT ${LANG_SIMPCHINESE} "Upgrade AFS Client"
284 LangString UPGRADE_CLIENT ${LANG_TRADCHINESE} "Upgrade AFS Client"
285 LangString UPGRADE_CLIENT ${LANG_JAPANESE} "Upgrade AFS Client"
286 LangString UPGRADE_CLIENT ${LANG_KOREAN} "Upgrade AFS Client"
287 LangString UPGRADE_CLIENT ${LANG_PORTUGUESEBR} "Upgrade AFS Client"
289 LangString REINSTALL_CLIENT ${LANG_ENGLISH} "Re-install AFS Client"
290 LangString REINSTALL_CLIENT ${LANG_GERMAN} "Re-install AFS Client"
291 LangString REINSTALL_CLIENT ${LANG_SPANISH} "Re-install AFS Client"
292 LangString REINSTALL_CLIENT ${LANG_SIMPCHINESE} "Re-install AFS Client"
293 LangString REINSTALL_CLIENT ${LANG_TRADCHINESE} "Re-install AFS Client"
294 LangString REINSTALL_CLIENT ${LANG_JAPANESE} "Re-install AFS Client"
295 LangString REINSTALL_CLIENT ${LANG_KOREAN} "Re-install AFS Client"
296 LangString REINSTALL_CLIENT ${LANG_PORTUGUESEBR} "Re-install AFS Client"
298 LangString UPGRADE_SERVER ${LANG_ENGLISH} "Upgrade AFS Server"
299 LangString UPGRADE_SERVER ${LANG_GERMAN} "Upgrade AFS Server"
300 LangString UPGRADE_SERVER ${LANG_SPANISH} "Upgrade AFS Server"
301 LangString UPGRADE_SERVER ${LANG_SIMPCHINESE} "Upgrade AFS Server"
302 LangString UPGRADE_SERVER ${LANG_TRADCHINESE} "Upgrade AFS Server"
303 LangString UPGRADE_SERVER ${LANG_JAPANESE} "Upgrade AFS Server"
304 LangString UPGRADE_SERVER ${LANG_KOREAN} "Upgrade AFS Server"
305 LangString UPGRADE_SERVER ${LANG_PORTUGUESEBR} "Upgrade AFS Server"
307 LangString REINSTALL_SERVER ${LANG_ENGLISH} "Re-install AFS Server"
308 LangString REINSTALL_SERVER ${LANG_GERMAN} "Re-install AFS Server"
309 LangString REINSTALL_SERVER ${LANG_SPANISH} "Re-install AFS Server"
310 LangString REINSTALL_SERVER ${LANG_SIMPCHINESE} "Re-install AFS Server"
311 LangString REINSTALL_SERVER ${LANG_TRADCHINESE} "Re-install AFS Server"
312 LangString REINSTALL_SERVER ${LANG_JAPANESE} "Re-install AFS Server"
313 LangString REINSTALL_SERVER ${LANG_KOREAN} "Re-install AFS Server"
314 LangString REINSTALL_SERVER ${LANG_PORTUGUESEBR} "Re-install AFS Server"
316 ReserveFile "CellServPage.ini"
317 ReserveFile "AFSCell.ini"
318 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
319 !insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
320 ;--------------------------------
322 ; Macro - Upgrade DLL File
323 ; Written by Joost Verburg
324 ; ------------------------
327 ; LOCALFILE - Location of the new DLL file (on the compiler system)
328 ; DESTFILE - Location of the DLL file that should be upgraded
329 ; (on the user's system)
330 ; TEMPBASEDIR - Directory on the user's system to store a temporary file
331 ; when the system has to be rebooted.
332 ; For Win9x support, this should be on the same volume as the
334 ; The Windows temp directory could be located on any volume,
335 ; so you cannot use this directory.
337 ; Define REPLACEDLL_NOREGISTER if you want to upgrade a DLL that does not
338 ; have to be registered.
340 ; Note: If you want to support Win9x, you can only use
341 ; short filenames (8.3).
344 ; !insertmacro ReplaceDLL "dllname.dll" "$SYSDIR\dllname.dll" "$SYSDIR"
347 !macro ReplaceDLL LOCALFILE DESTFILE TEMPBASEDIR
356 ;------------------------
357 ;Unique number for labels
359 !define REPLACEDLL_UNIQUE ${__LINE__}
361 ;------------------------
362 ;Copy the parameters used on run-time to a variable
363 ;This allows the usage of variables as paramter
365 StrCpy $R4 "${DESTFILE}"
366 StrCpy $R5 "${TEMPBASEDIR}"
368 ;------------------------
369 ;Check file and version
371 IfFileExists $R4 0 replacedll.copy_${REPLACEDLL_UNIQUE}
374 ; GetDLLVersionLocal "${LOCALFILE}" $R0 $R1
375 ; GetDLLVersion $R4 $R2 $R3
376 ;IfErrors replacedll.upgrade_${REPLACEDLL_UNIQUE}
378 ;IntCmpU $R0 $R2 0 replacedll.done_${REPLACEDLL_UNIQUE} \
379 ; replacedll.upgrade_${REPLACEDLL_UNIQUE}
380 ;IntCmpU $R1 $R3 replacedll.done_${REPLACEDLL_UNIQUE} \
381 ; replacedll.done_${REPLACEDLL_UNIQUE} \
382 ; replacedll.upgrade_${REPLACEDLL_UNIQUE}
384 ;------------------------
385 ;Let's replace the DLL!
389 ;replacedll.upgrade_${REPLACEDLL_UNIQUE}:
390 !ifndef REPLACEDLL_NOREGISTER
395 ;------------------------
396 ;Try to copy the DLL directly
400 Call :replacedll.file_${REPLACEDLL_UNIQUE}
401 IfErrors 0 replacedll.noreboot_${REPLACEDLL_UNIQUE}
403 ;------------------------
404 ;DLL is in use. Copy it to a temp file and Rename it on reboot.
406 GetTempFileName $R0 $R5
407 Call :replacedll.file_${REPLACEDLL_UNIQUE}
408 Rename /REBOOTOK $R0 $R4
410 ;------------------------
411 ;Register the DLL on reboot
413 !ifndef REPLACEDLL_NOREGISTER
414 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
415 "Register $R4" 'rundll32.exe "$R4",DllRegisterServer'
418 Goto replacedll.done_${REPLACEDLL_UNIQUE}
420 ;------------------------
421 ;DLL does not exist - just extract
423 replacedll.copy_${REPLACEDLL_UNIQUE}:
425 Call :replacedll.file_${REPLACEDLL_UNIQUE}
427 ;------------------------
430 replacedll.noreboot_${REPLACEDLL_UNIQUE}:
431 !ifndef REPLACEDLL_NOREGISTER
435 ;------------------------
438 replacedll.done_${REPLACEDLL_UNIQUE}:
447 ;------------------------
450 Goto replacedll.end_${REPLACEDLL_UNIQUE}
452 ;------------------------
453 ;Called to extract the DLL
455 replacedll.file_${REPLACEDLL_UNIQUE}:
456 File /oname=$R0 "${LOCALFILE}"
459 replacedll.end_${REPLACEDLL_UNIQUE}:
461 ;------------------------
464 SetOverwrite lastused
466 !undef REPLACEDLL_UNIQUE
471 ;--------------------------------
474 ;Things that need to be extracted on first (keep these lines before any File command!)
475 ;Only useful for BZIP2 compression
476 !insertmacro MUI_RESERVEFILE_LANGDLL
478 ;--------------------------------
488 ;--------------------------------
491 ;----------------------
493 Section "AFS Client" secClient
495 SetShellVarContext all
497 ; Check for bad previous installation (if we are doing a new install)
498 Call IsAnyAFSInstalled
500 StrCmp $R0 "0" +1 skipCheck
504 ; Stop any running services or we can't replace the files
505 ; Stop the running processes
507 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
508 nsExec::Exec '$R0 afsd_service.exe'
509 nsExec::Exec '$R0 afscreds.exe'
510 Exec "afscreds.exe -z"
511 ; in case we are upgrading an old version that does not support -z
512 nsExec::Exec '$R0 afscreds.exe'
514 ;nsExec::Exec '$R0 krbcc32s.exe'
517 nsExec::Exec "net stop TransarcAFSDaemon"
518 nsExec::Exec "net stop TransarcAFSServer"
520 ; Do client components
521 SetOutPath "$INSTDIR\Client\Program"
522 File "${AFS_CLIENT_BUILDDIR}\afsshare.exe"
523 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\libosi.dll" "$INSTDIR\Client\Program\libosi.dll" "$INSTDIR"
524 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\libafsconf.dll" "$INSTDIR\Client\Program\libafsconf.dll" "$INSTDIR"
525 File "${AFS_CLIENT_BUILDDIR}\klog.exe"
526 File "${AFS_CLIENT_BUILDDIR}\tokens.exe"
527 File "${AFS_CLIENT_BUILDDIR}\unlog.exe"
528 File "${AFS_CLIENT_BUILDDIR}\fs.exe"
529 File "${AFS_CLIENT_BUILDDIR}\aklog.exe"
530 File "${AFS_CLIENT_BUILDDIR}\afscreds.exe"
531 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll" "$INSTDIR\Client\Program\afs_shl_ext.dll" "$INSTDIR"
532 File "${AFS_CLIENT_BUILDDIR}\afsd_service.exe"
533 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$INSTDIR\Client\Program\afslogon.dll" "$INSTDIR"
534 File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
535 File "${AFS_DESTDIR}\bin\kpasswd.exe"
536 File "${AFS_SERVER_BUILDDIR}\pts.exe"
537 File "${AFS_SERVER_BUILDDIR}\bos.exe"
538 File "${AFS_SERVER_BUILDDIR}\kas.exe"
539 File "${AFS_SERVER_BUILDDIR}\vos.exe"
540 File "${AFS_SERVER_BUILDDIR}\udebug.exe"
541 File "${AFS_DESTDIR}\bin\translate_et.exe"
542 File "${AFS_DESTDIR}\etc\rxdebug.exe"
543 File "${AFS_DESTDIR}\etc\backup.exe"
549 ; Do WINDOWSDIR components
551 ; Do Windows SYSDIR (Control panel)
553 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl" "$SYSDIR\afs_cpa.cpl" "$INSTDIR"
555 ; Get AFS CellServDB file
556 Call afs.GetCellServDB
559 ; Include Kerberos for Windows files in the installer...
560 SetOutPath "$INSTDIR\kfw\bin\"
561 File "${KFW_SOURCE}\bin\*"
562 SetOutPath "$INSTDIR\kfw\doc"
563 File "${KFW_SOURCE}\doc\*"
566 ;Store install folder
567 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
568 Call AFSCommon.Install
570 ; Write registry entries
571 WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
572 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "" "AFS Client Shell Extension"
573 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "" "$INSTDIR\Client\Program\afs_shl_ext.dll"
574 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
575 WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
576 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "AFS Client Shell Extension"
579 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
580 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${AFS_VERSION}
581 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Title" "AFS Client"
582 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Description" "AFS Client"
583 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName" "$INSTDIR\Client"
584 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Software Type" "File System"
585 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
586 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
587 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
588 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
589 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Title" "AFS Client"
590 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Description" "AFS Client"
591 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Software Type" "File System"
592 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PathName" "$INSTDIR\Client\Program"
593 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
594 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
595 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
597 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug" 1
598 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug" 1
600 ; Delete the DEBUG string
601 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug"
602 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug"
605 ; On Windows 2000 work around KB301673. This is fixed in Windows XP and 2003
606 Call GetWindowsVersion
608 StrCmp $R1 "2000" +1 +2
609 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled" 0
611 ;Write start menu entries
612 CreateDirectory "$SMPROGRAMS\OpenAFS\Client"
613 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
615 ; Create command line options for AFSCreds...
617 ReadINIStr $R1 $2 "Field 3" "State"
620 ReadINIStr $R1 $2 "Field 5" "State"
623 ReadINIStr $R1 $2 "Field 7" "State"
626 ReadINIStr $R1 $2 "Field 9" "State"
629 ReadINIStr $R1 $2 "Field 13" "State"
633 CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
635 ReadINIStr $R1 $2 "Field 1" "State"
637 CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Program\afscreds.exe" "$R2"
641 Push "$INSTDIR\Client\Program"
643 Push "$INSTDIR\Common"
647 ; Add kfw to path too
648 Push "$INSTDIR\kfw\bin"
652 ; Create the AFS service
653 SetOutPath "$INSTDIR\Common"
654 File "${AFS_WININSTALL_DIR}\Service.exe"
655 nsExec::Exec "net stop TransarcAFSDaemon"
656 ;IMPORTANT! If we are not refreshing the config files, do NOT remove the service
657 ;Don't re-install because it must be present or we wouldn't have passed the Reg check
659 ReadRegStr $R2 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
660 StrCmp $R2 "" +1 skipremove
661 nsExec::Exec '$INSTDIR\Common\Service.exe u TransarcAFSDaemon'
662 nsExec::Exec '$INSTDIR\Common\Service.exe TransarcAFSDaemon "$INSTDIR\Client\Program\afsd_service.exe" "OpenAFS Client Service"'
664 Delete "$INSTDIR\Common\service.exe"
667 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "" ""
668 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "ProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
669 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
670 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
671 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Class" 2
672 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "VerboseLogging" 10
674 ; Must also add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\HwOrder
675 ; and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order
676 ; to also include the service name.
678 ReadINIStr $R0 $1 "Field 7" "State"
679 ReadINIStr $R1 $1 "Field 9" "State"
680 ; Complicated way to do $R1 = ($R1 *2) + $R0
683 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonOptions" $R1
684 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x -a -m -n -q"
685 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
688 ReadINIStr $R0 $1 "Field 2" "State"
689 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell" $R0
690 ReadINIStr $R0 $1 "Field 3" "State"
691 WriteRegDWORD HKLM "SOFTWARE\OpenAFS\Client" "ShowTrayIcon" 1
692 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel" $R0
693 ReadINIStr $R0 $1 "Field 5" "State"
694 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient" $R0
695 ReadINIStr $R0 $1 "Field 11" "State"
696 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS" $R0
697 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NetbiosName" "AFS"
698 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "MountRoot" "/afs"
699 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "RxMaxMTU" 1260
700 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "IsGateway" 0
701 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "HideDotFiles" 1
702 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "TruncateNetbios" "on"
704 ; Find Lana By Name appears to be causing grief for many people
705 ; I do not have time to track this down so I am simply going to disable it
706 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NoFindLanaByName" 1
708 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
709 strcpy $REG_VALUE "DependOnGroup"
710 strcpy $REG_DATA_1 "PNP_TDI"
711 strcpy $REG_DATA_2 ""
712 strcpy $REG_DATA_3 ""
713 Call RegWriteMultiStr
714 strcpy $REG_SUB_KEY "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon"
715 strcpy $REG_VALUE "DependOnService"
716 strcpy $REG_DATA_1 "Tcpip"
717 strcpy $REG_DATA_2 "NETBIOS"
718 strcpy $REG_DATA_3 "RpcSs"
719 Call RegWriteMultiStr
723 WriteUninstaller "$INSTDIR\Uninstall.exe"
729 ; MS Loopback adapter
730 Section "MS Loopback Adapter" secLoopback
732 Call afs.InstallMSLoopback
737 ;------------------------
739 Section "AFS Server" secServer
741 SetShellVarContext all
743 ; Check for bad previous installation (if we are doing a new install)
744 Call IsAnyAFSInstalled
746 StrCmp $R0 "0" +1 skipCheck
750 ; Stop any running services or we can't replace the files
751 ; Stop the running processes
753 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
754 nsExec::Exec '$R0 afscreds.exe'
755 Exec "afscreds.exe -z"
756 ; in case we are upgrading an old version that does not support -z
758 nsExec::Exec '$R0 afscreds.exe'
760 ;nsExec::Exec '$R0 krbcc32s.exe'
765 nsExec::Exec "net stop TransarcAFSDaemon"
766 nsExec::Exec "net stop TransarcAFSServer"
768 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
769 CreateDirectory "$INSTDIR\Server\usr\afs\local"
770 CreateDirectory "$INSTDIR\Server\usr\afs\etc\logs"
772 SetOutPath "$INSTDIR\Server\usr\afs\bin"
773 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
774 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
775 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
776 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
777 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
778 File "${AFS_ETC_BUILDDIR}\butc.exe"
779 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
780 File "${AFS_ETC_BUILDDIR}\fms.exe"
781 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
782 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
783 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
784 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
785 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
786 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
787 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
788 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
790 ;AFS Server common files
791 SetOutPath "$INSTDIR\Common"
792 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
793 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
794 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
795 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
796 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
800 SetOutPath "$INSTDIR\Common"
804 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver.cpl" "$SYSDIR\afsserver.cpl" "$INSTDIR"
806 ;Store install folder
807 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
809 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
810 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${AFS_VERSION}
811 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
812 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
813 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
814 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
815 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
816 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
817 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
818 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
819 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Title" "AFS Server"
820 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Description" "AFS Server for Windows"
821 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Software Type" "File System"
822 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PathName" "$INSTDIR\Server"
823 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
824 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
825 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
827 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug" 1
828 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug" 1
830 ; Delete the DEBUG string
831 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug"
832 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug"
834 ; Install the service
835 SetOutPath "$INSTDIR\Common"
836 File "${AFS_WININSTALL_DIR}\Service.exe"
838 File "${AFS_WININSTALL_DIR}\Service.pdb"
841 ; Check if the service exists--if it does, this is an upgrade/re-install
842 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSServer" "ImagePath"
843 StrCmp $R0 "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" SkipStartup
845 ; If an uninstall was done, but we kept the config files, also skip
846 IfFileExists "$INSTDIR\Server\usr\afs\etc\ThisCell" SkipStartup
848 ; Make the server config wizard auto-start on bootup if this is an install (not an upgrade)
849 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AFS Server Wizard" '"$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" /wizard"'
853 ;Don't want to whack existing settings... Make users un-install and then re-install if they want that
854 ;nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
855 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
856 Delete "$INSTDIR\Common\service.exe"
858 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
859 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Server Configuration.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
862 WriteUninstaller "$INSTDIR\Uninstall.exe"
867 ;----------------------------
868 ; OpenAFS Control Center
869 Section "AFS Control Center" secControl
871 SetShellVarContext all
873 SetOutPath "$INSTDIR\Control Center"
874 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
875 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
876 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
879 ;AFS Server common files
880 Call AFSCommon.Install
882 SetOutPath "$INSTDIR\Common"
884 SetOutPath "$INSTDIR\Common"
887 File "${SYSTEMDIR}\msvcr71d.dll"
888 File "${SYSTEMDIR}\msvcp71d.dll"
889 File "${SYSTEMDIR}\mfc71d.dll"
890 File "${SYSTEMDIR}\MFC71CHS.DLL"
891 File "${SYSTEMDIR}\MFC71CHT.DLL"
892 File "${SYSTEMDIR}\MFC71DEU.DLL"
893 File "${SYSTEMDIR}\MFC71ENU.DLL"
894 File "${SYSTEMDIR}\MFC71ESP.DLL"
895 File "${SYSTEMDIR}\MFC71FRA.DLL"
896 File "${SYSTEMDIR}\MFC71ITA.DLL"
897 File "${SYSTEMDIR}\MFC71JPN.DLL"
898 File "${SYSTEMDIR}\MFC71KOR.DLL"
901 File "${SYSTEMDIR}\msvcr70d.dll"
902 File "${SYSTEMDIR}\msvcp70d.dll"
903 File "${SYSTEMDIR}\mfc70d.dll"
904 File "${SYSTEMDIR}\MFC70CHS.DLL"
905 File "${SYSTEMDIR}\MFC70CHT.DLL"
906 File "${SYSTEMDIR}\MFC70DEU.DLL"
907 File "${SYSTEMDIR}\MFC70ENU.DLL"
908 File "${SYSTEMDIR}\MFC70ESP.DLL"
909 File "${SYSTEMDIR}\MFC70FRA.DLL"
910 File "${SYSTEMDIR}\MFC70ITA.DLL"
911 File "${SYSTEMDIR}\MFC70JPN.DLL"
912 File "${SYSTEMDIR}\MFC70KOR.DLL"
914 File "${SYSTEMDIR}\mfc42d.dll"
915 File "${SYSTEMDIR}\msvcp60d.dll"
916 File "${SYSTEMDIR}\msvcrtd.dll"
921 File "${SYSTEMDIR}\mfc71.dll"
922 File "${SYSTEMDIR}\msvcr71.dll"
923 File "${SYSTEMDIR}\msvcp71.dll"
924 File "${SYSTEMDIR}\MFC71CHS.DLL"
925 File "${SYSTEMDIR}\MFC71CHT.DLL"
926 File "${SYSTEMDIR}\MFC71DEU.DLL"
927 File "${SYSTEMDIR}\MFC71ENU.DLL"
928 File "${SYSTEMDIR}\MFC71ESP.DLL"
929 File "${SYSTEMDIR}\MFC71FRA.DLL"
930 File "${SYSTEMDIR}\MFC71ITA.DLL"
931 File "${SYSTEMDIR}\MFC71JPN.DLL"
932 File "${SYSTEMDIR}\MFC71KOR.DLL"
935 File "${SYSTEMDIR}\mfc70.dll"
936 File "${SYSTEMDIR}\msvcr70.dll"
937 File "${SYSTEMDIR}\msvcp70.dll"
938 File "${SYSTEMDIR}\MFC70CHS.DLL"
939 File "${SYSTEMDIR}\MFC70CHT.DLL"
940 File "${SYSTEMDIR}\MFC70DEU.DLL"
941 File "${SYSTEMDIR}\MFC70ENU.DLL"
942 File "${SYSTEMDIR}\MFC70ESP.DLL"
943 File "${SYSTEMDIR}\MFC70FRA.DLL"
944 File "${SYSTEMDIR}\MFC70ITA.DLL"
945 File "${SYSTEMDIR}\MFC70JPN.DLL"
946 File "${SYSTEMDIR}\MFC70KOR.DLL"
948 File "${SYSTEMDIR}\mfc42.dll"
949 File "${SYSTEMDIR}\msvcp60.dll"
950 File "${SYSTEMDIR}\msvcrt.dll"
954 ;Store install folder
955 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
956 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${AFS_VERSION}
957 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
958 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
959 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
960 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
961 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
962 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
963 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
965 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug" 1
966 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug" 1
968 ; Delete the DEBUG string
969 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug"
970 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug"
973 ;Write start menu entries
974 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
975 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
976 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
978 WriteUninstaller "$INSTDIR\Uninstall.exe"
983 ;----------------------------
984 ; OpenAFS Supplemental Documentation
985 Section "Supplemental Documentation" secDocs
986 SetShellVarContext all
988 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
989 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
990 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
991 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
992 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
993 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
994 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
995 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
999 SetOutPath "$INSTDIR\Documentation\html"
1000 File "..\..\doc\install\Documentation\en_US\html\*"
1001 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1002 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
1003 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1004 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
1005 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1006 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
1007 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1008 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
1012 SetOutPath "$INSTDIR\Documentation"
1013 File "..\..\doc\install\Documentation\de_DE\README.TXT"
1014 SetOutPath "$INSTDIR\Documentation\html"
1015 File "..\..\doc\install\Documentation\de_DE\html\*"
1016 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1017 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
1018 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1019 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
1020 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1021 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
1022 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1023 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
1027 SetOutPath "$INSTDIR\Documentation"
1028 File "..\..\doc\install\Documentation\es_ES\README.TXT"
1029 SetOutPath "$INSTDIR\Documentation\html"
1030 File "..\..\doc\install\Documentation\es_ES\html\*"
1031 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1032 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
1033 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1034 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
1035 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1036 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
1037 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1038 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
1042 SetOutPath "$INSTDIR\Documentation"
1043 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
1044 SetOutPath "$INSTDIR\Documentation\html"
1045 File "..\..\doc\install\Documentation\ja_JP\html\*"
1046 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1047 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
1048 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1049 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
1050 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1051 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
1052 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1053 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
1057 SetOutPath "$INSTDIR\Documentation"
1058 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
1059 SetOutPath "$INSTDIR\Documentation\html"
1060 File "..\..\doc\install\Documentation\ko_KR\html\*"
1061 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1062 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
1063 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1064 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
1065 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1066 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
1067 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1068 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
1072 SetOutPath "$INSTDIR\Documentation"
1073 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
1074 SetOutPath "$INSTDIR\Documentation\html"
1075 File "..\..\doc\install\Documentation\pt_BR\html\*"
1076 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1077 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
1078 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1079 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
1080 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1081 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
1082 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1083 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
1087 SetOutPath "$INSTDIR\Documentation"
1088 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
1089 SetOutPath "$INSTDIR\Documentation\html"
1090 File "..\..\doc\install\Documentation\zh_CN\html\*"
1091 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1092 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
1093 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1094 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
1095 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1096 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
1097 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1098 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
1102 SetOutPath "$INSTDIR\Documentation"
1103 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
1104 SetOutPath "$INSTDIR\Documentation\html"
1105 File "..\..\doc\install\Documentation\zh_TW\html\*"
1106 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1107 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
1108 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1109 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
1110 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1111 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
1112 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1113 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
1118 ;Store install folder
1119 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
1120 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${AFS_VERSION}
1121 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1122 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1123 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1124 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1125 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1126 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1127 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1129 ; Write start menu shortcut
1130 SetOutPath "$SMPROGRAMS\OpenAFS"
1131 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
1134 WriteUninstaller "$INSTDIR\Uninstall.exe"
1135 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1136 Call AFSCommon.Install
1140 Section "Software Development Kit (SDK)" secSDK
1142 SetOutPath "$INSTDIR\Client\Program\lib"
1143 File /r "${AFS_CLIENT_LIBDIR}\*.*"
1145 SetOutPath "$INSTDIR\Client\Program\Include"
1146 File /r "${AFS_BUILD_INCDIR}\*.*"
1149 SetOutPath "$INSTDIR\Client\Program\Sample"
1150 File "..\..\afsd\sample\token.c"
1152 ;Store install folder
1153 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK" "" $INSTDIR
1154 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "VersionString" ${AFS_VERSION}
1155 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1156 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1157 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1158 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1159 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1160 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1161 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1163 WriteUninstaller "$INSTDIR\Uninstall.exe"
1164 SetOutPath "$SMPROGRAMS\OpenAFS"
1165 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1167 Call AFSCommon.Install
1171 Section "Debug symbols" secDebug
1172 SectionGetFlags ${secClient} $R0
1173 IntOp $R0 $R0 & ${SF_SELECTED}
1174 IntCmp $R0 ${SF_SELECTED} +1 DoServer
1176 ; Do client components
1177 SetOutPath "$INSTDIR\Client\Program"
1178 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
1179 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
1180 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
1181 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
1182 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
1183 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
1184 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
1185 File "${AFS_CLIENT_BUILDDIR}\aklog.pdb"
1186 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
1187 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
1188 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
1189 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
1190 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
1191 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
1192 File "${AFS_DESTDIR}\bin\pts.pdb"
1193 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
1194 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
1195 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
1196 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
1197 File "${AFS_DESTDIR}\bin\translate_et.pdb"
1198 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
1199 File "${AFS_DESTDIR}\etc\backup.pdb"
1201 SetOutPath "$SYSDIR"
1202 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.pdb"
1205 SectionGetFlags ${secServer} $R0
1206 IntOp $R0 $R0 & ${SF_SELECTED}
1207 IntCmp $R0 ${SF_SELECTED} +1 DoControl
1209 ; Do server components
1210 SetOutPath "$INSTDIR\Server\usr\afs\bin"
1211 File "${AFS_SERVER_BUILDDIR}\afskill.pdb"
1212 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.pdb"
1213 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.pdb"
1214 File "${AFS_SERVER_BUILDDIR}\bosserver.pdb"
1215 File "${AFS_SERVER_BUILDDIR}\buserver.pdb"
1216 File "${AFS_ETC_BUILDDIR}\butc.pdb"
1217 File "${AFS_SERVER_BUILDDIR}\fileserver.pdb"
1218 File "${AFS_ETC_BUILDDIR}\fms.pdb"
1219 File "${AFS_SERVER_BUILDDIR}\kaserver.pdb"
1220 File "${AFS_SERVER_BUILDDIR}\ptserver.pdb"
1221 File "${AFS_SERVER_BUILDDIR}\salvager.pdb"
1222 File "${AFS_SERVER_BUILDDIR}\upclient.pdb"
1223 File "${AFS_SERVER_BUILDDIR}\upserver.pdb"
1224 File "${AFS_SERVER_BUILDDIR}\vlserver.pdb"
1225 File "${AFS_SERVER_BUILDDIR}\volinfo.pdb"
1226 File "${AFS_SERVER_BUILDDIR}\volserver.pdb"
1228 ; Do server common components
1229 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1230 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1231 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1232 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1233 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1235 SetOutPath "$SYSDIR"
1236 File "${AFS_SERVER_BUILDDIR}\afsserver.pdb"
1238 ; Do control center components
1240 SectionGetFlags ${secControl} $R0
1241 IntOp $R0 $R0 & ${SF_SELECTED}
1242 IntCmp $R0 ${SF_SELECTED} +1 DoCommon
1244 SetOutPath "$INSTDIR\Control Center"
1245 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.pdb"
1246 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.pdb"
1247 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.pdb"
1250 SetOutPath "$INSTDIR\Common"
1252 File "${SYSTEMDIR}\msvcr71d.pdb"
1253 File "${SYSTEMDIR}\msvcp71d.pdb"
1254 File "${SYSTEMDIR}\mfc71d.pdb"
1257 File "${SYSTEMDIR}\msvcr70d.pdb"
1258 File "${SYSTEMDIR}\msvcp70d.pdb"
1259 File "${SYSTEMDIR}\mfc70d.pdb"
1261 File "${SYSTEMDIR}\mfc42d.pdb"
1262 File "${SYSTEMDIR}\msvcp60d.pdb"
1263 File "${SYSTEMDIR}\msvcrtd.pdb"
1268 SetOutPath "$INSTDIR\Common"
1269 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
1270 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
1271 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
1272 File "${AFS_DESTDIR}\lib\afspthread.pdb"
1273 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
1274 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
1275 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
1276 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1277 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
1278 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1279 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1280 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1281 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1282 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1287 ;Display the Finish header
1288 ;Insert this macro after the sections if you are not using a finish page
1289 ;!insertmacro MUI_SECTIONS_FINISHHEADER
1291 ;--------------------------------
1292 ;Installer Functions
1296 !insertmacro MUI_LANGDLL_DISPLAY
1298 ; Set the default install options
1303 StrCmp $R0 "true" contInstall
1305 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
1310 ; Check that RPC functions are installed (I believe any one of these can be present for
1312 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_np"
1313 StrCmp $R0 "rpcrt4.dll" contInstall2
1314 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncacn_ip_tcp"
1315 StrCmp $R0 "rpcrt4.dll" contInstall2
1316 ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\RPC\ClientProtocols" "ncadg_ip_udp"
1317 StrCmp $R0 "rpcrt4.dll" contInstall2
1319 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "An error was detected with your Windows RPC installation. Please make sure Windows RPC is installed before installing OpenAFS."
1324 ; Select the loopback only if it is NOT Windows 2000 (The user can still select it,
1325 ; even though we warn them!)
1326 Call GetWindowsVersion
1328 StrCmp $R1 "2000" +1 DoLoop
1329 SectionGetFlags ${secLoopback} $0
1330 IntOp $0 $0 & ${SECTION_OFF}
1331 SectionSetFlags ${secLoopback} $0
1334 ; If the Loopback is already installed, we mark the option OFF and Read Only
1335 ; so the user can not select it.
1336 Call afs.isLoopbackInstalled
1337 IntCmp $R1 0 SkipLoop
1338 SectionGetFlags ${secLoopback} $0
1339 IntOp $0 $0 & ${SECTION_OFF}
1340 IntOp $0 $0 | ${SF_RO}
1341 SectionSetFlags ${secLoopback} $0
1344 ; Never install debug symbols unless explicitly selected
1346 SectionGetFlags ${secDebug} $0
1347 IntOp $0 $0 & ${SECTION_OFF}
1348 SectionSetFlags ${secDebug} $0
1350 ; Our logic should be like this.
1351 ; 1) If no AFS components are installed, we do a clean install with default options. (Client/Docs)
1352 ; 2) If existing modules are installed, we keep them selected
1353 ; 3) If it is an upgrade, we set the text accordingly, else we mark it as a re-install
1355 Call IsAnyAFSInstalled
1357 StrCmp $R0 "0" DefaultOptions
1359 Call ShouldClientInstall
1362 ; Check if it was an IBM/Transarc version
1363 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "DisplayName"
1364 StrCmp $R0 "IBM AFS Client" DoIBM
1365 StrCmp $R0 "Transarc AFS Client" DoIBM
1368 StrCmp $R2 "0" NoClient
1369 StrCmp $R2 "1" ReinstallClient
1370 StrCmp $R2 "2" UpgradeClient
1371 StrCmp $R2 "3" DowngradeClient
1374 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\AFS Client\CurrentVersion" "MajorVersion"
1375 StrCmp $R0 "3" +1 NotIBM
1380 SectionGetFlags ${secClient} $0
1381 IntOp $0 $0 | ${SF_SELECTED}
1382 SectionSetFlags ${secClient} $0
1383 ;# !insertmacro SelectSection ${secClient}
1386 ;StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
1387 SectionGetFlags ${secClient} $0
1388 IntOp $0 $0 & ${SECTION_OFF}
1389 SectionSetFlags ${secClient} $0
1392 SectionGetFlags ${secClient} $0
1393 IntOp $0 $0 | ${SF_SELECTED}
1394 SectionSetFlags ${secClient} $0
1395 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1398 SectionGetFlags ${secClient} $0
1399 IntOp $0 $0 | ${SF_SELECTED}
1400 SectionSetFlags ${secClient} $0
1401 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1404 SectionGetFlags ${secClient} $0
1405 IntOp $0 $0 | ${SF_SELECTED}
1406 SectionSetFlags ${secClient} $0
1407 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1413 Call ShouldServerInstall
1415 StrCmp $R2 "0" NoServer
1416 StrCmp $R2 "1" ReinstallServer
1417 StrCmp $R2 "2" UpgradeServer
1418 StrCmp $R2 "3" DowngradeServer
1420 SectionGetFlags ${secServer} $0
1421 IntOp $0 $0 | ${SF_SELECTED}
1422 SectionSetFlags ${secServer} $0
1423 ;# !insertmacro UnselectSection ${secServer}
1427 SectionGetFlags ${secServer} $0
1428 IntOp $0 $0 | ${SF_SELECTED}
1429 SectionSetFlags ${secServer} $0
1430 SectionSetText ${secServer} $(UPGRADE_SERVER)
1434 SectionGetFlags ${secServer} $0
1435 IntOp $0 $0 | ${SF_SELECTED}
1436 SectionSetFlags ${secServer} $0
1437 SectionSetText ${secServer} $(REINSTALL_SERVER)
1441 SectionGetFlags ${secServer} $0
1442 IntOp $0 $0 | ${SF_SELECTED}
1443 SectionSetFlags ${secServer} $0
1444 SectionSetText ${secServer} $(REINSTALL_SERVER)
1448 SectionGetFlags ${secServer} $0
1449 IntOp $0 $0 & ${SECTION_OFF}
1450 SectionSetFlags ${secServer} $0
1451 ;# !insertmacro UnselectSection ${secServer}
1455 ; Check control center
1456 Call IsControlInstalled
1458 StrCmp $R2 "0" NoControl
1460 SectionGetFlags ${secControl} $0
1461 IntOp $0 $0 | ${SF_SELECTED}
1462 SectionSetFlags ${secControl} $0
1466 SectionGetFlags ${secControl} $0
1467 IntOp $0 $0 & ${SECTION_OFF}
1468 SectionSetFlags ${secControl} $0
1469 ;# !insertmacro UnselectSection ${secControl}
1472 ; Check Documentation
1473 Call IsDocumentationInstalled
1475 StrCmp $R2 "0" NoDocs
1476 SectionGetFlags ${secDocs} $0
1477 IntOp $0 $0 | ${SF_SELECTED}
1478 SectionSetFlags ${secDocs} $0
1482 SectionGetFlags ${secDocs} $0
1483 IntOp $0 $0 & ${SECTION_OFF}
1484 SectionSetFlags ${secDocs} $0
1487 ; To check the SDK, we simply look to see if the files exist. If they do,
1488 ; the SDK is installed. If not, we don't need to push it on the user.
1489 ; If they are there, we want to make sure they match the installed version.
1491 IfFileExists "$INSTDIR\Client\Program\Include\main.h" +1 NoSDK
1492 SectionGetFlags ${secSDK} $0
1493 IntOp $0 $0 | ${SF_SELECTED}
1494 SectionSetFlags ${secSDK} $0
1498 SectionGetFlags ${secSDK} $0
1499 IntOp $0 $0 & ${SECTION_OFF}
1500 SectionSetFlags ${secSDK} $0
1505 SectionGetFlags ${secClient} $0
1506 IntOp $0 $0 | ${SF_SELECTED}
1507 SectionSetFlags ${secClient} $0
1509 ; Server NOT selected
1510 SectionGetFlags ${secServer} $0
1511 IntOp $0 $0 & ${SECTION_OFF}
1512 SectionSetFlags ${secServer} $0
1514 ; Control Center NOT selected
1515 SectionGetFlags ${secControl} $0
1516 IntOp $0 $0 & ${SECTION_OFF}
1517 SectionSetFlags ${secControl} $0
1518 ;# !insertmacro UnselectSection ${secControl}
1520 ; Documentation selected
1521 SectionGetFlags ${secDocs} $0
1522 IntOp $0 $0 | ${SF_SELECTED}
1523 SectionSetFlags ${secDocs} $0
1524 ;# !insertmacro UnselectSection ${secDocs}
1527 SectionGetFlags ${secSDK} $0
1528 IntOp $0 $0 & ${SECTION_OFF}
1529 SectionSetFlags ${secSDK} $0
1530 ;# !insertmacro UnselectSection ${secSDK}
1539 ; See if we can set a default installation path...
1540 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName"
1541 StrCmp $R0 "" TryServer
1545 ; Work around bug in 1.3.5000, 1.3.5100, 1.3.5200, 1.3.5201, 1.3.5299 installers...
1546 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion"
1547 StrCmp $R0 "1" +1 SkipParent
1548 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion"
1549 StrCmp $R0 "3" +1 SkipParent
1550 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel"
1551 StrCmp $R0 "5000" UpParent
1552 StrCmp $R0 "5100" UpParent
1553 StrCmp $R0 "5200" UpParent
1554 StrCmp $R0 "5201" UpParent
1555 StrCmp $R0 "5299" UpParent
1567 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName"
1568 StrCmp $R0 "" TryControl
1576 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName"
1584 File /oname=$0 CellServPage.ini
1586 File /oname=$1 AFSCell.ini
1588 File /oname=$2 AFSCreds.ini
1589 ;File /oname=$1 ConfigURL.ini
1597 ;--------------------------------
1598 ; These are our cleanup functions
1599 Function .onInstFailed
1604 Function .onInstSuccess
1610 ;--------------------------------
1613 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1614 !insertmacro MUI_DESCRIPTION_TEXT ${secServer} $(DESC_secServer)
1615 !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
1616 !insertmacro MUI_DESCRIPTION_TEXT ${secControl} $(DESC_secControl)
1617 !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
1618 !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
1619 !insertmacro MUI_DESCRIPTION_TEXT ${secLoopback} $(DESC_secLoopback)
1620 !insertmacro MUI_DESCRIPTION_TEXT ${secDebug} $(DESC_secDebug)
1621 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1623 ;--------------------------------
1624 ;Uninstaller Section
1627 ; Make sure the user REALLY wants to do this, unless they did a silent uninstall, in which case...let them!
1628 IfSilent StartRemove ; New in v2.0b4
1629 MessageBox MB_YESNO "Are you sure you want to remove OpenAFS from this machine?" IDYES StartRemove
1634 SetShellVarContext all
1635 ; Stop the running processes
1637 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1638 nsExec::Exec '$R0 afscreds.exe'
1639 Exec "afscreds.exe -z"
1640 ; in case we are upgrading an old version that does not support -z
1642 nsExec::Exec '$R0 afscreds.exe'
1644 nsExec::Exec '$R0 krbcc32s.exe'
1647 ; Delete the AFS service
1649 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1650 nsExec::Exec "net stop TransarcAFSDaemon"
1651 nsExec::Exec "net stop TransarcAFSServer"
1652 nsExec::Exec '$R0 u TransarcAFSDaemon'
1653 ; After we stop the service, but before we delete it, we have to remove the volume data
1654 ; This is because the storage locations are in the registry under the service key.
1655 ; Call un.RemoveAFSVolumes
1656 nsExec::Exec '$R0 u TransarcAFSServer'
1659 Call un.RemoveProvider
1661 Push "$INSTDIR\Client\Program"
1662 Call un.RemoveFromPath
1663 Push "$INSTDIR\Common"
1664 Call un.RemoveFromPath
1666 Push "$INSTDIR\kfw\bin"
1667 Call un.RemoveFromPath
1670 ; Delete documentation
1671 Delete "$INSTDIR\Documentation\README.TXT"
1672 Delete "$INSTDIR\Documentation\html\*"
1673 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1674 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1675 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1676 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1678 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1679 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1680 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1681 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1682 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1683 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1684 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1685 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1686 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1687 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1688 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1689 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1690 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1691 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1692 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1694 Delete /REBOOTOK "$INSTDIR\Common\afs_config.pdb"
1695 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.pdb"
1696 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.pdb"
1697 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.pdb"
1698 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.pdb"
1699 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.pdb"
1700 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.pdb"
1701 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.pdb"
1702 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1703 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.pdb"
1704 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1705 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.pdb"
1706 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.pdb"
1707 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.pdb"
1708 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.pdb"
1711 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1712 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1713 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1714 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1715 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1716 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1719 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1720 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1721 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1722 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1723 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1724 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1726 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1727 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1728 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1729 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1730 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1731 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1735 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1736 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1737 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1738 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1739 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1740 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1741 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1742 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1743 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1744 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1745 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1746 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1749 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1750 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1751 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1752 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1753 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1754 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1755 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1756 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1757 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1758 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1759 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1760 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1762 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1763 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1764 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1770 ; IfFileExists "$WINDIR\afsdcell.ini" CellExists SkipDelAsk
1772 MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel
1774 Delete "$WINDIR\afsdcell.ini"
1776 Delete "$WINDIR\afsdsbmt.ini"
1777 ; Only remove krb5.ini if KfW was installed
1779 Delete "$WINDIR\krb5.ini"
1781 Delete "$WINDIR\afsdns.ini"
1782 Delete "$WINDIR\afs_freelance.ini"
1785 Delete "$WINDIR\afsd_init.log"
1786 Delete "$INSTDIR\Uninstall.exe"
1789 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1790 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1791 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1792 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1793 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1794 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1795 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1796 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1797 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1798 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1799 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1800 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1801 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1802 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1803 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1804 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1805 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1807 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1808 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1809 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1810 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1811 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1812 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1813 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1814 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1815 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1816 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1817 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1818 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1819 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1820 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1821 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1822 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1823 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1825 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1826 ; do not delete the server configuration files
1827 ; or we will lose the volumes and authentication
1829 ;RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1830 ;RmDir /r "$INSTDIR\Server\usr\afs\etc"
1831 ;RmDir /r "$INSTDIR\Server\usr\afs\local"
1832 ;RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1834 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1835 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1837 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1838 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1840 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1841 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1842 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1843 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1844 RMDIr /r "$INSTDIR\Documentation\html"
1846 RMDir "$INSTDIR\Documentation"
1847 ; Delete DOC short cut
1848 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1850 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1852 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1853 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1854 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1855 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1856 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1857 RMDir "$INSTDIR\Client\Program\Sample"
1858 RMDir "$INSTDIR\Client\Program\Include\afs"
1859 RMDir "$INSTDIR\Client\Program\Include\rx"
1860 RMDir "$INSTDIR\Client\Program\Include"
1861 RMDir "$INSTDIR\Client\Program"
1862 RMDir "$INSTDIR\Client"
1866 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.dll"
1867 Delete /REBOOTOK "$INSTDIR\bin\msvcr71d.pdb"
1868 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.dll"
1869 Delete /REBOOTOK "$INSTDIR\bin\msvcp71d.pdb"
1870 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.dll"
1871 Delete /REBOOTOK "$INSTDIR\bin\mfc71d.pdb"
1874 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.dll"
1875 Delete /REBOOTOK "$INSTDIR\bin\msvcr70d.pdb"
1876 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.dll"
1877 Delete /REBOOTOK "$INSTDIR\bin\msvcp70d.pdb"
1878 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.dll"
1879 Delete /REBOOTOK "$INSTDIR\bin\mfc70d.pdb"
1881 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.dll"
1882 Delete /REBOOTOK "$INSTDIR\bin\mfc42d.pdb"
1883 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.dll"
1884 Delete /REBOOTOK "$INSTDIR\bin\msvcp60d.pdb"
1885 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.dll"
1886 Delete /REBOOTOK "$INSTDIR\bin\msvcrtd.pdb"
1891 Delete /REBOOTOK "$INSTDIR\bin\mfc71.dll"
1892 Delete /REBOOTOK "$INSTDIR\bin\msvcr71.dll"
1893 Delete /REBOOTOK "$INSTDIR\bin\msvcp71.dll"
1894 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHS.DLL"
1895 Delete /REBOOTOK "$INSTDIR\bin\MFC71CHT.DLL"
1896 Delete /REBOOTOK "$INSTDIR\bin\MFC71DEU.DLL"
1897 Delete /REBOOTOK "$INSTDIR\bin\MFC71ENU.DLL"
1898 Delete /REBOOTOK "$INSTDIR\bin\MFC71ESP.DLL"
1899 Delete /REBOOTOK "$INSTDIR\bin\MFC71FRA.DLL"
1900 Delete /REBOOTOK "$INSTDIR\bin\MFC71ITA.DLL"
1901 Delete /REBOOTOK "$INSTDIR\bin\MFC71JPN.DLL"
1902 Delete /REBOOTOK "$INSTDIR\bin\MFC71KOR.DLL"
1905 Delete /REBOOTOK "$INSTDIR\bin\mfc70.dll"
1906 Delete /REBOOTOK "$INSTDIR\bin\msvcr70.dll"
1907 Delete /REBOOTOK "$INSTDIR\bin\msvcp70.dll"
1908 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHS.DLL"
1909 Delete /REBOOTOK "$INSTDIR\bin\MFC70CHT.DLL"
1910 Delete /REBOOTOK "$INSTDIR\bin\MFC70DEU.DLL"
1911 Delete /REBOOTOK "$INSTDIR\bin\MFC70ENU.DLL"
1912 Delete /REBOOTOK "$INSTDIR\bin\MFC70ESP.DLL"
1913 Delete /REBOOTOK "$INSTDIR\bin\MFC70FRA.DLL"
1914 Delete /REBOOTOK "$INSTDIR\bin\MFC70ITA.DLL"
1915 Delete /REBOOTOK "$INSTDIR\bin\MFC70JPN.DLL"
1916 Delete /REBOOTOK "$INSTDIR\bin\MFC70KOR.DLL"
1918 Delete /REBOOTOK "$INSTDIR\bin\mfc42.dll"
1919 Delete /REBOOTOK "$INSTDIR\bin\msvcp60.dll"
1920 Delete /REBOOTOK "$INSTDIR\bin\msvcrt.dll"
1925 Delete /REBOOTOK "$INSTDIR\Common\*"
1926 RMDir "$INSTDIR\Common"
1930 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1931 RMDIR /r "$INSTDIR\kfw\bin"
1932 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1933 RMDIR /r "$INSTDIR\kfw\doc"
1934 RMDIR /r "$INSTDIR\kfw"
1937 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1939 ; Remove control center
1940 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1941 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1942 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1943 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1944 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1945 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1946 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1947 RMDir "$INSTDIR\Control Center"
1949 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1950 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1951 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1952 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1953 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1954 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1955 RMDir /r "$SMPROGRAMS\OpenAFS"
1956 Delete "$SMSTARTUP\AFS Credentials.lnk"
1958 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1960 Delete "$R0\AFSCache"
1961 Delete "C:\AFSCache"
1963 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1964 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1965 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1966 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1967 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1969 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1970 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1971 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1972 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1973 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1974 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1975 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1976 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1977 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1978 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1979 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1985 ;--------------------------------
1986 ;Uninstaller Functions
1990 ;Get language from registry
1991 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1995 Function un.onUninstSuccess
1997 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
2001 ;------------------------------
2002 ; Get the CellServDB file from the Internet
2004 Function afs.GetCellServDB
2006 ;Check if we should download CellServDB
2007 ReadINIStr $R0 $0 "Field 4" "State"
2008 StrCmp $R0 "1" DoDownload
2010 ;Do nothing if we're keeping the existing file
2011 ReadINIStr $R0 $0 "Field 2" "State"
2014 ReadINIStr $R0 $0 "Field 6" "State"
2015 StrCmp $R0 "1" CheckOther
2017 ReadINIStr $R0 $0 "Field 3" "State"
2018 StrCmp $R0 "1" UsePackaged
2020 ; If none of these, grab file from other location
2024 ReadINIStr $R0 $0 "Field 5" "State"
2025 NSISdl::download $R0 "$WINDIR\afsdcell.ini"
2026 Pop $R0 ;Get the return value
2027 StrCmp $R0 "success" +2
2028 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
2032 SetOutPath "$WINDIR"
2037 ReadINIStr $R0 $0 "Field 7" "State"
2039 CopyFiles $R0 "$WINDIR\afsdcell.ini"
2045 Function AddProvider
2048 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
2050 StrCpy $R0 "TransarcAFSDaemon"
2054 StrCmp $R0 "" +1 DoOther
2055 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder"
2056 StrCpy $R0 "$R1,TransarcAFSDaemon"
2057 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder" "ProviderOrder" $R0
2059 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
2061 StrCpy $R0 "TransarcAFSDaemon"
2065 StrCmp $R0 "" +1 End
2066 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder"
2067 StrCpy $R0 "$R1,TransarcAFSDaemon"
2068 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order" "ProviderOrder" $R0
2074 Function un.RemoveProvider
2076 StrCpy $R0 "TransarcAFSDaemon"
2078 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\HWOrder"
2079 Call un.RemoveFromProvider
2080 StrCpy $R0 "TransarcAFSDaemon"
2082 StrCpy $R0 "SYSTEM\CurrentControlSet\Control\NetworkProvider\Order"
2083 Call un.RemoveFromProvider
2087 Function un.RemoveFromProvider
2096 ReadRegStr $1 HKLM "$R0" "ProviderOrder"
2097 StrCpy $5 $1 1 -1 # copy last char
2098 StrCmp $5 "," +2 # if last char != ,
2099 StrCpy $1 "$1," # append ,
2102 Call un.StrStr ; Find `$0,` in $1
2103 Pop $2 ; pos of our dir
2104 StrCmp $2 "" unRemoveFromPath_done
2105 ; else, it is in path
2110 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
2111 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
2114 StrCpy $5 $3 1 -1 # copy last char
2115 StrCmp $5 "," 0 +2 # if last char == ,
2116 StrCpy $3 $3 -1 # remove last char
2118 WriteRegStr HKLM "$R0" "ProviderOrder" $3
2120 unRemoveFromPath_done:
2130 Function CheckPathForAFS
2135 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2144 IfFileExists "$3\afsd_service.exe" Error
2145 StrCpy $1 $0 32768 1
2147 IntCmp $2 0 Done Done loop
2150 MessageBox MB_ICONSTOP|MB_OK|MB_TOPMOST "This installer is unable to upgrade the previous version of AFS. Please uninstall the current AFS version before continuing."
2151 Abort "Unable to install OpenAFS"
2159 Function AddToUniquePath
2163 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2167 StrCmp $R0 "" +1 Done
2173 ;-------------------------------
2174 ;Do the page to get the CellServDB
2176 Function AFSPageGetCellServDB
2177 ; Skip this page if we are not installing the client
2178 SectionGetFlags ${secClient} $R0
2179 IntOp $R0 $R0 & ${SF_SELECTED}
2182 ; Set the install options here
2185 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
2186 WriteINIStr $0 "Field 3" "State" "1"
2187 WriteINISTR $0 "Field 4" "State" "0"
2188 WriteINIStr $0 "Field 6" "State" "0"
2190 ; If there is an existing afsdcell.ini file, allow the user to choose it and make it default
2191 IfFileExists "$WINDIR\afsdcell.ini" +1 notpresent
2192 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
2193 WriteINIStr $0 "Field 2" "State" "1"
2194 WriteINIStr $0 "Field 3" "State" "0"
2198 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
2199 InstallOptions::dialog $0
2201 StrCmp $R1 "cancel" exit
2202 StrCmp $R1 "back" done
2203 StrCmp $R1 "success" done
2207 ; Check that if a file is set, a valid filename is entered...
2208 ReadINIStr $R0 $0 "Field 6" "State"
2209 StrCmp $R0 "1" CheckFileName
2211 ;Check if a URL is specified, one *IS* specified
2212 ReadINIStr $R0 $0 "Field 4" "State"
2213 StrCmp $R0 "1" CheckURL Skip
2216 ReadINIStr $R0 $0 "Field 5" "State"
2217 StrCmp $R0 "" +1 Skip
2218 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2219 WriteINIStr $0 "Field 4" "State" "0"
2223 ReadINIStr $R0 $0 "Field 7" "State"
2224 IfFileExists $R0 Skip
2226 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2227 WriteINIStr $0 "Field 6" "State" "0"
2235 Function AFSPageGetCellName
2237 ; Skip this page if we are not installing the client
2238 SectionGetFlags ${secClient} $R0
2239 IntOp $R0 $R0 & ${SF_SELECTED}
2243 ; If this is a server install, we do NOT want to recommend the Freelance client
2244 ; And we do not need to ask for the cell name.
2245 SectionGetFlags ${secServer} $R1
2246 IntOp $R1 $R1 & ${SF_SELECTED}
2247 StrCmp $R1 "1" +1 NotServer
2248 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2249 WriteINIStr $1 "Field 5" "State" "0"
2250 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2251 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2254 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2255 WriteINIStr $1 "Field 5" "State" "1"
2256 WriteINIStr $1 "Field 1" "Flags" ""
2257 WriteINIStr $1 "Field 2" "Flags" ""
2259 ; Get the current cell name, if any
2260 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2262 WriteINIStr $1 "Field 2" "State" $R1
2263 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2264 InstallOptions::dialog $1
2266 StrCmp $R1 "cancel" exit
2267 StrCmp $R1 "back" done
2268 StrCmp $R1 "success" done
2271 ReadINIStr $R0 $1 "Field 2" "State"
2272 StrCmp $R0 "" +1 good
2274 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2280 ;---------------------------------------------------------
2281 ;Do the page to get the afscreds.exe startup configuration
2283 Function AFSPageConfigAFSCreds
2284 ; Skip this page if we are not installing the client
2285 SectionGetFlags ${secClient} $R0
2286 IntOp $R0 $R0 & ${SF_SELECTED}
2289 ; Set the install options here
2291 !insertmacro MUI_HEADER_TEXT "AFS Credentials Configuration" "Please choose default options for configuring the AFS Credentials program:"
2292 InstallOptions::dialog $2
2294 StrCmp $R1 "cancel" exit
2295 StrCmp $R1 "back" done
2296 StrCmp $R1 "success" done
2304 ; Common install routines for each module
2305 Function AFSCommon.Install
2307 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2308 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2310 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2312 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2314 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2319 ;-------------------
2320 ; Get the currently installed version and place it on the stack
2322 Function GetInstalledVersion
2327 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2328 StrCmp $R0 "" NotTransarc done
2332 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2341 ; Functions to get each component of the version number
2342 Function GetInstalledVersionMajor
2347 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2348 StrCmp $R0 "" NotTransarc done
2352 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2361 Function GetInstalledVersionMinor
2366 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2367 StrCmp $R0 "" NotTransarc done
2371 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2380 Function GetInstalledVersionPatch
2385 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2386 StrCmp $R0 "" NotTransarc done
2390 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2401 ;-------------------------------
2402 ; Check if the client should be checked for default install
2403 Function ShouldClientInstall
2405 StrCpy $R2 "AFS Client"
2406 Call GetInstalledVersion
2409 StrCmp $R0 "" NotInstalled
2410 ; Now we see if it's an older or newer version
2412 Call GetInstalledVersionMajor
2414 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2416 Call GetInstalledVersionMinor
2418 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2420 Call GetInstalledVersionPatch
2422 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2445 ;-------------------------------
2446 ; Check how the server options should be set
2447 Function ShouldServerInstall
2449 StrCpy $R2 "AFS Server"
2450 Call GetInstalledVersion
2453 StrCmp $R0 "" NotInstalled
2454 ; Now we see if it's an older or newer version
2456 Call GetInstalledVersionMajor
2458 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2460 Call GetInstalledVersionMinor
2462 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2464 Call GetInstalledVersionPatch
2466 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2491 ; See if AFS Server is installed
2492 ; Returns: "1" if it is, 0 if it is not (on the stack)
2493 Function IsServerInstalled
2495 StrCpy $R2 "AFS Server"
2496 Call GetInstalledVersion
2499 StrCmp $R0 "" NotInstalled
2512 ; See if AFS Client is installed
2513 ; Returns: "1" if it is, 0 if it is not (on the stack)
2514 Function IsClientInstalled
2516 StrCpy $R2 "AFS Client"
2517 Call GetInstalledVersion
2520 StrCmp $R0 "" NotInstalled
2534 ; See if AFS Documentation is installed
2535 ; Returns: "1" if it is, 0 if it is not (on the stack)
2536 Function IsDocumentationInstalled
2538 StrCpy $R2 "AFS Supplemental Documentation"
2539 Call GetInstalledVersion
2542 StrCmp $R0 "" NotInstalled
2555 ; See if Control Center is installed
2556 ; Returns: "1" if it is, 0 if it is not (on the stack)
2557 Function IsControlInstalled
2559 StrCpy $R2 "AFS Control Center"
2560 Call GetInstalledVersion
2563 StrCmp $R0 "" NotInstalled
2578 ; output, top of stack (replaces, with e.g. whatever)
2579 ; modifies no other variables.
2581 Function GetParameters
2585 StrCpy $R0 $CMDLINE 1
2589 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2591 StrCpy $R0 $CMDLINE 1 $R2
2592 StrCmp $R0 $R1 loop2
2598 StrCpy $R0 $CMDLINE 1 $R2
2599 StrCmp $R0 " " loop2
2600 StrCpy $R0 $CMDLINE "" $R2
2607 ;Check to see if any AFS component is installed
2608 ;Returns: Value on stack: "1" if it is, "0" if it is not
2609 Function IsAnyAFSInstalled
2614 Call IsClientInstalled
2616 Call IsServerInstalled
2618 Call IsControlInstalled
2620 Call IsDocumentationInstalled
2622 ; Now we must see if ANY of the $Rn values are 1
2623 StrCmp $R0 "1" SomethingInstalled
2624 StrCmp $R1 "1" SomethingInstalled
2625 StrCmp $R2 "1" SomethingInstalled
2626 StrCmp $R3 "1" SomethingInstalled
2640 ;Install English Language Files
2641 Function AFSLangFiles
2643 SetOutPath "$INSTDIR\Common"
2644 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2645 File "${AFS_SERVER_BUILDDIR}\afsadminutil.dll"
2646 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2647 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2648 !insertmacro ReplaceDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2649 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll"
2650 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll"
2651 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2652 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll"
2653 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2654 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
2655 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
2656 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
2657 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
2661 File "${SYSTEMDIR}\msvcr71d.dll"
2662 File "${SYSTEMDIR}\msvcr71d.pdb"
2663 File "${SYSTEMDIR}\msvcp71d.dll"
2664 File "${SYSTEMDIR}\msvcp71d.pdb"
2665 File "${SYSTEMDIR}\mfc71d.dll"
2666 File "${SYSTEMDIR}\mfc71d.pdb"
2667 File "${SYSTEMDIR}\MFC71CHS.DLL"
2668 File "${SYSTEMDIR}\MFC71CHT.DLL"
2669 File "${SYSTEMDIR}\MFC71DEU.DLL"
2670 File "${SYSTEMDIR}\MFC71ENU.DLL"
2671 File "${SYSTEMDIR}\MFC71ESP.DLL"
2672 File "${SYSTEMDIR}\MFC71FRA.DLL"
2673 File "${SYSTEMDIR}\MFC71ITA.DLL"
2674 File "${SYSTEMDIR}\MFC71JPN.DLL"
2675 File "${SYSTEMDIR}\MFC71KOR.DLL"
2678 File "${SYSTEMDIR}\msvcr70d.dll"
2679 File "${SYSTEMDIR}\msvcr70d.pdb"
2680 File "${SYSTEMDIR}\msvcp70d.dll"
2681 File "${SYSTEMDIR}\msvcp70d.pdb"
2682 File "${SYSTEMDIR}\mfc70d.dll"
2683 File "${SYSTEMDIR}\mfc70d.pdb"
2684 File "${SYSTEMDIR}\MFC70CHS.DLL"
2685 File "${SYSTEMDIR}\MFC70CHT.DLL"
2686 File "${SYSTEMDIR}\MFC70DEU.DLL"
2687 File "${SYSTEMDIR}\MFC70ENU.DLL"
2688 File "${SYSTEMDIR}\MFC70ESP.DLL"
2689 File "${SYSTEMDIR}\MFC70FRA.DLL"
2690 File "${SYSTEMDIR}\MFC70ITA.DLL"
2691 File "${SYSTEMDIR}\MFC70JPN.DLL"
2692 File "${SYSTEMDIR}\MFC70KOR.DLL"
2694 File "${SYSTEMDIR}\mfc42d.dll"
2695 File "${SYSTEMDIR}\mfc42d.pdb"
2696 File "${SYSTEMDIR}\msvcp60d.dll"
2697 File "${SYSTEMDIR}\msvcp60d.pdb"
2698 File "${SYSTEMDIR}\msvcrtd.dll"
2699 File "${SYSTEMDIR}\msvcrtd.pdb"
2704 File "${SYSTEMDIR}\mfc71.dll"
2705 File "${SYSTEMDIR}\msvcr71.dll"
2706 File "${SYSTEMDIR}\msvcp71.dll"
2707 File "${SYSTEMDIR}\MFC71CHS.DLL"
2708 File "${SYSTEMDIR}\MFC71CHT.DLL"
2709 File "${SYSTEMDIR}\MFC71DEU.DLL"
2710 File "${SYSTEMDIR}\MFC71ENU.DLL"
2711 File "${SYSTEMDIR}\MFC71ESP.DLL"
2712 File "${SYSTEMDIR}\MFC71FRA.DLL"
2713 File "${SYSTEMDIR}\MFC71ITA.DLL"
2714 File "${SYSTEMDIR}\MFC71JPN.DLL"
2715 File "${SYSTEMDIR}\MFC71KOR.DLL"
2718 File "${SYSTEMDIR}\mfc70.dll"
2719 File "${SYSTEMDIR}\msvcr70.dll"
2720 File "${SYSTEMDIR}\msvcp70.dll"
2721 File "${SYSTEMDIR}\MFC70CHS.DLL"
2722 File "${SYSTEMDIR}\MFC70CHT.DLL"
2723 File "${SYSTEMDIR}\MFC70DEU.DLL"
2724 File "${SYSTEMDIR}\MFC70ENU.DLL"
2725 File "${SYSTEMDIR}\MFC70ESP.DLL"
2726 File "${SYSTEMDIR}\MFC70FRA.DLL"
2727 File "${SYSTEMDIR}\MFC70ITA.DLL"
2728 File "${SYSTEMDIR}\MFC70JPN.DLL"
2729 File "${SYSTEMDIR}\MFC70KOR.DLL"
2731 File "${SYSTEMDIR}\mfc42.dll"
2732 File "${SYSTEMDIR}\msvcp60.dll"
2733 File "${SYSTEMDIR}\msvcrt.dll"
2738 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2739 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2740 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2741 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2742 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2743 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2744 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2745 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2749 SetOutPath "$INSTDIR\Documentation"
2750 File "..\..\doc\install\Documentation\en_US\README.TXT"
2752 SetOutPath "$INSTDIR\Client\Program"
2753 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll" "$INSTDIR\Client\Program\afscreds_1033.dll" "$INSTDIR"
2754 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll" "$INSTDIR\Client\Program\afs_shl_ext_1033.dll" "$INSTDIR"
2756 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2757 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2760 SetOutPath "$INSTDIR\Common"
2761 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll" "$INSTDIR\Common\afs_config_1033.dll" "$INSTDIR"
2762 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll" "$INSTDIR\Common\afs_cpa_1033.dll" "$INSTDIR"
2763 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll" "$INSTDIR\Common\afseventmsg_1033.dll" "$INSTDIR"
2764 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll" "$INSTDIR\Common\afs_setup_utils_1033.dll" "$INSTDIR"
2765 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll" "$INSTDIR\Common\afsserver_1033.dll" "$INSTDIR"
2766 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll" "$INSTDIR\Common\afssvrcfg_1033.dll" "$INSTDIR"
2767 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll" "$INSTDIR\Common\TaAfsAccountManager_1033.dll" "$INSTDIR"
2768 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll" "$INSTDIR\Common\TaAfsAppLib_1033.dll" "$INSTDIR"
2769 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll" "$INSTDIR\Common\TaAfsServerManager_1033.dll" "$INSTDIR"
2770 File "..\..\doc\help\en_US\afs-cc.CNT"
2771 File "..\..\doc\help\en_US\afs-cc.hlp"
2772 File "..\..\doc\help\en_US\afs-light.CNT"
2773 File "..\..\doc\help\en_US\afs-light.hlp"
2774 File "..\..\doc\help\en_US\afs-nt.CNT"
2775 File "..\..\doc\help\en_US\afs-nt.HLP"
2776 File "..\..\doc\help\en_US\taafscfg.CNT"
2777 File "..\..\doc\help\en_US\taafscfg.hlp"
2778 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2779 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2780 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2781 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2784 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2785 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2786 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2787 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2788 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2789 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2790 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2791 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2797 SetOutPath "$INSTDIR\Documentation"
2798 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2800 SetOutPath "$INSTDIR\Client\Program"
2801 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll" "$INSTDIR\Client\Program\afscreds_1032.dll" "$INSTDIR"
2802 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll" "$INSTDIR\Client\Program\afs_shl_ext_1032.dll" "$INSTDIR"
2804 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.pdb"
2805 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.pdb"
2808 SetOutPath "$INSTDIR\Common"
2809 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll" "$INSTDIR\Common\afs_config_1032.dll" "$INSTDIR"
2810 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll" "$INSTDIR\Common\afs_cpa_1032.dll" "$INSTDIR"
2811 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll" "$INSTDIR\Common\afseventmsg_1032.dll" "$INSTDIR"
2812 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll" "$INSTDIR\Common\afs_setup_utils_1032.dll" "$INSTDIR"
2813 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll" "$INSTDIR\Common\afsserver_1032.dll" "$INSTDIR"
2814 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll" "$INSTDIR\Common\afssvrcfg_1032.dll" "$INSTDIR"
2815 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll" "$INSTDIR\Common\TaAfsAccountManager_1032.dll" "$INSTDIR"
2816 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll" "$INSTDIR\Common\TaAfsAppLib_1032.dll" "$INSTDIR"
2817 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll" "$INSTDIR\Common\TaAfsServerManager_1032.dll" "$INSTDIR"
2818 File "..\..\doc\help\de_DE\afs-cc.CNT"
2819 File "..\..\doc\help\de_DE\afs-cc.hlp"
2820 File "..\..\doc\help\de_DE\afs-light.CNT"
2821 File "..\..\doc\help\de_DE\afs-light.hlp"
2822 File "..\..\doc\help\de_DE\afs-nt.CNT"
2823 File "..\..\doc\help\de_DE\afs-nt.HLP"
2824 File "..\..\doc\help\de_DE\taafscfg.CNT"
2825 File "..\..\doc\help\de_DE\taafscfg.hlp"
2826 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2827 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2828 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2829 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2832 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.pdb"
2833 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.pdb"
2834 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.pdb"
2835 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1032.pdb"
2836 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.pdb"
2837 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.pdb"
2838 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.pdb"
2839 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.pdb"
2845 SetOutPath "$INSTDIR\Documentation"
2846 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2848 SetOutPath "$INSTDIR\Client\Program"
2849 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll" "$INSTDIR\Client\Program\afscreds_1034.dll" "$INSTDIR"
2850 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll" "$INSTDIR\Client\Program\afs_shl_ext_1034.dll" "$INSTDIR"
2852 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.pdb"
2853 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.pdb"
2856 SetOutPath "$INSTDIR\Common"
2857 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll" "$INSTDIR\Common\afs_config_1034.dll" "$INSTDIR"
2858 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll" "$INSTDIR\Common\afs_cpa_1034.dll" "$INSTDIR"
2859 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll" "$INSTDIR\Common\afseventmsg_1034.dll" "$INSTDIR"
2860 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll" "$INSTDIR\Common\afs_setup_utils_1034.dll" "$INSTDIR"
2861 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll" "$INSTDIR\Common\afsserver_1034.dll" "$INSTDIR"
2862 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll" "$INSTDIR\Common\afssvrcfg_1034.dll" "$INSTDIR"
2863 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll" "$INSTDIR\Common\TaAfsAccountManager_1034.dll" "$INSTDIR"
2864 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll" "$INSTDIR\Common\TaAfsAppLib_1034.dll" "$INSTDIR"
2865 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll" "$INSTDIR\Common\TaAfsServerManager_1034.dll" "$INSTDIR"
2866 File "..\..\doc\help\es_ES\afs-cc.CNT"
2867 File "..\..\doc\help\es_ES\afs-cc.hlp"
2868 File "..\..\doc\help\es_ES\afs-light.CNT"
2869 File "..\..\doc\help\es_ES\afs-light.hlp"
2870 File "..\..\doc\help\es_ES\afs-nt.CNT"
2871 File "..\..\doc\help\es_ES\afs-nt.HLP"
2872 File "..\..\doc\help\es_ES\taafscfg.CNT"
2873 File "..\..\doc\help\es_ES\taafscfg.hlp"
2874 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2875 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2876 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2877 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2880 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.pdb"
2881 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.pdb"
2882 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.pdb"
2883 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1034.pdb"
2884 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.pdb"
2885 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.pdb"
2886 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.pdb"
2887 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.pdb"
2893 SetOutPath "$INSTDIR\Documentation"
2894 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2896 SetOutPath "$INSTDIR\Client\Program"
2897 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll" "$INSTDIR\Client\Program\afscreds_1041.dll" "$INSTDIR"
2898 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll" "$INSTDIR\Client\Program\afs_shl_ext_1041.dll" "$INSTDIR"
2900 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.pdb"
2901 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.pdb"
2904 SetOutPath "$INSTDIR\Common"
2905 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll" "$INSTDIR\Common\afs_config_1041.dll" "$INSTDIR"
2906 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll" "$INSTDIR\Common\afs_cpa_1041.dll" "$INSTDIR"
2907 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll" "$INSTDIR\Common\afseventmsg_1041.dll" "$INSTDIR"
2908 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll" "$INSTDIR\Common\afs_setup_utils_1041.dll" "$INSTDIR"
2909 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll" "$INSTDIR\Common\afsserver_1041.dll" "$INSTDIR"
2910 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll" "$INSTDIR\Common\afssvrcfg_1041.dll" "$INSTDIR"
2911 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll" "$INSTDIR\Common\TaAfsAccountManager_1041.dll" "$INSTDIR"
2912 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll" "$INSTDIR\Common\TaAfsAppLib_1041.dll" "$INSTDIR"
2913 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll" "$INSTDIR\Common\TaAfsServerManager_1041.dll" "$INSTDIR"
2914 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2915 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2916 File "..\..\doc\help\ja_JP\afs-light.CNT"
2917 File "..\..\doc\help\ja_JP\afs-light.hlp"
2918 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2919 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2920 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2921 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2922 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2923 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2924 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2925 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2928 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.pdb"
2929 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.pdb"
2930 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.pdb"
2931 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1041.pdb"
2932 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.pdb"
2933 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.pdb"
2934 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.pdb"
2935 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.pdb"
2941 SetOutPath "$INSTDIR\Documentation"
2942 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
2944 SetOutPath "$INSTDIR\Client\Program"
2945 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll" "$INSTDIR\Client\Program\afscreds_1042.dll" "$INSTDIR"
2946 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll" "$INSTDIR\Client\Program\afs_shl_ext_1042.dll" "$INSTDIR"
2948 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.pdb"
2949 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.pdb"
2952 SetOutPath "$INSTDIR\Common"
2953 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll" "$INSTDIR\Common\afs_config_1042.dll" "$INSTDIR"
2954 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll" "$INSTDIR\Common\afs_cpa_1042.dll" "$INSTDIR"
2955 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll" "$INSTDIR\Common\afseventmsg_1042.dll" "$INSTDIR"
2956 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll" "$INSTDIR\Common\afs_setup_utils_1042.dll" "$INSTDIR"
2957 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll" "$INSTDIR\Common\afsserver_1042.dll" "$INSTDIR"
2958 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll" "$INSTDIR\Common\afssvrcfg_1042.dll" "$INSTDIR"
2959 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll" "$INSTDIR\Common\TaAfsAccountManager_1042.dll" "$INSTDIR"
2960 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll" "$INSTDIR\Common\TaAfsAppLib_1042.dll" "$INSTDIR"
2961 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll" "$INSTDIR\Common\TaAfsServerManager_1042.dll" "$INSTDIR"
2962 File "..\..\doc\help\ko_KR\afs-cc.CNT"
2963 File "..\..\doc\help\ko_KR\afs-cc.hlp"
2964 File "..\..\doc\help\ko_KR\afs-light.CNT"
2965 File "..\..\doc\help\ko_KR\afs-light.hlp"
2966 File "..\..\doc\help\ko_KR\afs-nt.CNT"
2967 File "..\..\doc\help\ko_KR\afs-nt.HLP"
2968 File "..\..\doc\help\ko_KR\taafscfg.CNT"
2969 File "..\..\doc\help\ko_KR\taafscfg.hlp"
2970 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
2971 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
2972 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
2973 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
2976 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.pdb"
2977 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.pdb"
2978 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.pdb"
2979 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1042.pdb"
2980 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.pdb"
2981 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.pdb"
2982 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.pdb"
2983 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.pdb"
2990 SetOutPath "$INSTDIR\Documentation"
2991 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
2993 SetOutPath "$INSTDIR\Client\Program"
2994 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll" "$INSTDIR\Client\Program\afscreds_1046.dll" "$INSTDIR"
2995 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll" "$INSTDIR\Client\Program\afs_shl_ext_1046.dll" "$INSTDIR"
2997 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.pdb"
2998 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.pdb"
3001 SetOutPath "$INSTDIR\Common"
3002 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll" "$INSTDIR\Common\afs_config_1046.dll" "$INSTDIR"
3003 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll" "$INSTDIR\Common\afs_cpa_1046.dll" "$INSTDIR"
3004 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll" "$INSTDIR\Common\afseventmsg_1046.dll" "$INSTDIR"
3005 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll" "$INSTDIR\Common\afs_setup_utils_1046.dll" "$INSTDIR"
3006 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll" "$INSTDIR\Common\afsserver_1046.dll" "$INSTDIR"
3007 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll" "$INSTDIR\Common\afssvrcfg_1046.dll" "$INSTDIR"
3008 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll" "$INSTDIR\Common\TaAfsAccountManager_1046.dll" "$INSTDIR"
3009 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll" "$INSTDIR\Common\TaAfsAppLib_1046.dll" "$INSTDIR"
3010 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll" "$INSTDIR\Common\TaAfsServerManager_1046.dll" "$INSTDIR"
3011 File "..\..\doc\help\pt_BR\afs-cc.CNT"
3012 File "..\..\doc\help\pt_BR\afs-cc.hlp"
3013 File "..\..\doc\help\pt_BR\afs-light.CNT"
3014 File "..\..\doc\help\pt_BR\afs-light.hlp"
3015 File "..\..\doc\help\pt_BR\afs-nt.CNT"
3016 File "..\..\doc\help\pt_BR\afs-nt.HLP"
3017 File "..\..\doc\help\pt_BR\taafscfg.CNT"
3018 File "..\..\doc\help\pt_BR\taafscfg.hlp"
3019 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
3020 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
3021 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
3022 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
3025 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.pdb"
3026 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.pdb"
3027 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.pdb"
3028 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1046.pdb"
3029 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.pdb"
3030 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.pdb"
3031 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.pdb"
3032 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.pdb"
3038 SetOutPath "$INSTDIR\Documentation"
3039 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
3041 SetOutPath "$INSTDIR\Client\Program"
3042 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll" "$INSTDIR\Client\Program\afscreds_2052.dll" "$INSTDIR"
3043 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll" "$INSTDIR\Client\Program\afs_shl_ext_2052.dll" "$INSTDIR"
3045 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.pdb"
3046 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.pdb"
3049 SetOutPath "$INSTDIR\Common"
3050 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll" "$INSTDIR\Common\afs_config_2052.dll" "$INSTDIR"
3051 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll" "$INSTDIR\Common\afs_cpa_2052.dll" "$INSTDIR"
3052 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll" "$INSTDIR\Common\afseventmsg_2052.dll" "$INSTDIR"
3053 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll" "$INSTDIR\Common\afs_setup_utils_2052.dll" "$INSTDIR"
3054 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll" "$INSTDIR\Common\afsserver_2052.dll" "$INSTDIR"
3055 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll" "$INSTDIR\Common\afssvrcfg_2052.dll" "$INSTDIR"
3056 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll" "$INSTDIR\Common\TaAfsAccountManager_2052.dll" "$INSTDIR"
3057 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll" "$INSTDIR\Common\TaAfsAppLib_2052.dll" "$INSTDIR"
3058 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll" "$INSTDIR\Common\TaAfsServerManager_2052.dll" "$INSTDIR"
3059 File "..\..\doc\help\zh_CN\afs-cc.CNT"
3060 File "..\..\doc\help\zh_CN\afs-cc.hlp"
3061 File "..\..\doc\help\zh_CN\afs-light.CNT"
3062 File "..\..\doc\help\zh_CN\afs-light.hlp"
3063 File "..\..\doc\help\zh_CN\afs-nt.CNT"
3064 File "..\..\doc\help\zh_CN\afs-nt.HLP"
3065 File "..\..\doc\help\zh_CN\taafscfg.CNT"
3066 File "..\..\doc\help\zh_CN\taafscfg.hlp"
3067 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
3068 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
3069 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
3070 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
3073 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.pdb"
3074 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.pdb"
3075 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.pdb"
3076 ;File "${AFS_SERVER_BUILDDIR}\afsserver_2052.pdb"
3077 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.pdb"
3078 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.pdb"
3079 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.pdb"
3080 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.pdb"
3086 SetOutPath "$INSTDIR\Documentation"
3087 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
3089 SetOutPath "$INSTDIR\Client\Program"
3090 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll" "$INSTDIR\Client\Program\_1028.dll" "$INSTDIR"
3091 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll" "$INSTDIR\Client\Program\afs_shl_ext_1028.dll" "$INSTDIR"
3093 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.pdb"
3094 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.pdb"
3097 SetOutPath "$INSTDIR\Common"
3098 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll" "$INSTDIR\Common\afs_config_1028.dll" "$INSTDIR"
3099 !insertmacro ReplaceDLL "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll" "$INSTDIR\Common\afs_cpa_1028.dll" "$INSTDIR"
3100 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll" "$INSTDIR\Common\afseventmsg_1028.dll" "$INSTDIR"
3101 ;!insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll" "$INSTDIR\Common\afs_setup_utils_1028.dll" "$INSTDIR"
3102 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll" "$INSTDIR\Common\afsserver_1028.dll" "$INSTDIR"
3103 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll" "$INSTDIR\Common\afssvrcfg_1028.dll" "$INSTDIR"
3104 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll" "$INSTDIR\Common\TaAfsAccountManager_1028.dll" "$INSTDIR"
3105 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll" "$INSTDIR\Common\TaAfsAppLib_1028.dll" "$INSTDIR"
3106 !insertmacro ReplaceDLL "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll" "$INSTDIR\Common\TaAfsServerManager_1028.dll" "$INSTDIR"
3107 File "..\..\doc\help\zh_TW\afs-cc.CNT"
3108 File "..\..\doc\help\zh_TW\afs-cc.hlp"
3109 File "..\..\doc\help\zh_TW\afs-light.CNT"
3110 File "..\..\doc\help\zh_TW\afs-light.hlp"
3111 File "..\..\doc\help\zh_TW\afs-nt.CNT"
3112 File "..\..\doc\help\zh_TW\afs-nt.HLP"
3113 File "..\..\doc\help\zh_TW\taafscfg.CNT"
3114 File "..\..\doc\help\zh_TW\taafscfg.hlp"
3115 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
3116 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
3117 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
3118 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
3121 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.pdb"
3122 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.pdb"
3123 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.pdb"
3124 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1028.pdb"
3125 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.pdb"
3126 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.pdb"
3127 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.pdb"
3128 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.pdb"
3137 ;====================================================
3138 ; AddToPath - Adds the given dir to the search path.
3139 ; Input - head of the stack
3140 ; Note - Win9x systems requires reboot
3141 ;====================================================
3148 # don't add if the path doesn't exist
3149 IfFileExists $0 "" AddToPath_done
3156 StrCmp $2 "" "" AddToPath_done
3161 StrCmp $2 "" "" AddToPath_done
3162 GetFullPathName /SHORT $3 $0
3167 StrCmp $2 "" "" AddToPath_done
3172 StrCmp $2 "" "" AddToPath_done
3176 StrCmp $1 1 AddToPath_NT
3179 FileOpen $1 "$1\autoexec.bat" a
3182 IntCmp $2 26 0 +2 +2 # DOS EOF
3183 FileSeek $1 -1 END # write over EOF
3184 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
3190 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3191 StrCpy $2 $1 1 -1 # copy last char
3192 StrCmp $2 ";" 0 +2 # if last char == ;
3193 StrCpy $1 $1 -1 # remove last char
3194 StrCmp $1 "" AddToPath_NTdoIt
3197 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
3198 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3207 ;====================================================
3208 ; RemoveFromPath - Remove a given dir from the path
3209 ; Input: head of the stack
3210 ;====================================================
3211 Function un.RemoveFromPath
3220 IntFmt $6 "%c" 26 # DOS EOF
3224 StrCmp $1 1 unRemoveFromPath_NT
3227 FileOpen $1 "$1\autoexec.bat" r
3230 GetFullPathName /SHORT $0 $0
3231 StrCpy $0 "SET PATH=%PATH%;$0"
3232 Goto unRemoveFromPath_dosLoop
3234 unRemoveFromPath_dosLoop:
3236 StrCpy $5 $3 1 -1 # read last char
3237 StrCmp $5 $6 0 +2 # if DOS EOF
3238 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
3239 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
3240 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
3241 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
3242 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
3244 Goto unRemoveFromPath_dosLoop
3245 unRemoveFromPath_dosLoopRemoveLine:
3247 Goto unRemoveFromPath_dosLoop
3249 unRemoveFromPath_dosLoopEnd:
3253 Delete "$1\autoexec.bat"
3254 CopyFiles /SILENT $4 "$1\autoexec.bat"
3256 Goto unRemoveFromPath_done
3258 unRemoveFromPath_NT:
3259 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3260 StrCpy $5 $1 1 -1 # copy last char
3261 StrCmp $5 ";" +2 # if last char != ;
3262 StrCpy $1 "$1;" # append ;
3265 Call un.StrStr ; Find `$0;` in $1
3266 Pop $2 ; pos of our dir
3267 StrCmp $2 "" unRemoveFromPath_done
3268 ; else, it is in path
3273 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3274 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3277 StrCpy $5 $3 1 -1 # copy last char
3278 StrCmp $5 ";" 0 +2 # if last char == ;
3279 StrCpy $3 $3 -1 # remove last char
3281 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3282 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3284 unRemoveFromPath_done:
3294 ;====================================================
3295 ; IsNT - Returns 1 if the current system is NT, 0
3297 ; Output: head of the stack
3298 ;====================================================
3302 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3303 StrCmp $0 "" 0 IsNT_yes
3315 !insertmacro IsNT ""
3316 !insertmacro IsNT "un."
3318 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3320 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3321 ;====================================================
3322 ; StrStr - Finds a given string in another given string.
3323 ; Returns -1 if not found and the pos if found.
3324 ; Input: head of the stack - string to find
3325 ; second in the stack - string to find in
3326 ; Output: head of the stack
3327 ;====================================================
3329 Function ${un}StrStr
3330 Exch $R1 ; st=haystack,old$R1, $R1=needle
3331 Exch ; st=old$R1,haystack
3332 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3344 StrCpy $R5 $R2 $R3 $R4
3350 StrCpy $R1 $R2 "" $R4
3358 !insertmacro StrStr ""
3359 !insertmacro StrStr "un."
3362 !ifdef ADDSHAREDDLLUSED
3365 ; Increments a shared DLLs reference count.
3366 ; Use by passing one item on the stack (the full path of the DLL).
3369 ; Push $SYSDIR\myDll.dll
3373 Function AddSharedDLL
3376 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3378 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3384 ; un.RemoveSharedDLL
3386 ; Decrements a shared DLLs reference count, and removes if necessary.
3387 ; Use by passing one item on the stack (the full path of the DLL).
3388 ; Note: for use in the main installer (not the uninstaller), rename the
3389 ; function to RemoveSharedDLL.
3392 ; Push $SYSDIR\myDll.dll
3393 ; Call un.RemoveSharedDLL
3396 Function un.RemoveSharedDLL
3399 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3400 StrCmp $R0 "" remove
3402 IntCmp $R0 0 rk rk uk
3404 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3407 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3410 Delete /REBOOTOK $R1
3418 ; Installs the loopback adpater and disables it on Windows 2000
3419 Function afs.InstallMSLoopback
3421 File /oname=$R0 "${AFS_WININSTALL_DIR}\loopback_install.dll"
3422 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry quiet"
3426 Function afs.isLoopbackInstalled
3428 File "${AFS_WININSTALL_DIR}\loopback_install.dll"
3429 System::Call "$TEMP\loopback_install.dll::loopback_isInstalled() i().r11"
3430 Delete "$TEMP\loopback_install.dll"
3436 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3437 ; Updated by Joost Verburg
3439 ; Returns on top of stack
3441 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3443 ; '' (Unknown Windows Version)
3446 ; Call GetWindowsVersion
3448 ; ; at this point $R0 is "NT 4.0" or whatnot
3450 Function GetWindowsVersion
3457 ReadRegStr $R0 HKLM \
3458 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3460 IfErrors 0 lbl_winnt
3463 ReadRegStr $R0 HKLM \
3464 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3467 StrCmp $R1 '4' 0 lbl_error
3471 StrCmp $R1 '4.0' lbl_win32_95
3472 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3490 StrCmp $R1 '3' lbl_winnt_x
3491 StrCmp $R1 '4' lbl_winnt_x
3495 StrCmp $R1 '5.0' lbl_winnt_2000
3496 StrCmp $R1 '5.1' lbl_winnt_XP
3497 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3500 StrCpy $R0 "NT $R0" 6
3525 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3526 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3527 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3528 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3532 ; Pop $R0 ; at this point $R0 is "true" or "false"
3534 Function IsUserAdmin
3543 UserInfo::GetAccountType
3546 StrCmp $R2 "Admin" 0 Continue
3547 ; Observation: I get here when running Win98SE. (Lilla)
3548 ; The functions UserInfo.dll looks for are there on Win98 too,
3549 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3550 ; on Win98, returns admin anyway. (per kichik)
3551 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3556 ; You should still check for an empty string because the functions
3557 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3560 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3564 ; comment/message below is by UserInfo.nsi author:
3565 ; This one means you don't need to care about admin or
3566 ; not admin because Windows 9x doesn't either
3567 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3571 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3579 ; input, top of stack (e.g. C:\Program Files\Poop)
3580 ; output, top of stack (replaces, with e.g. C:\Program Files)
3581 ; modifies no other variables.
3584 ; Push "C:\Program Files\Directory\Whatever"
3587 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3601 IntCmp $R1 $R2 get 0 get
3602 StrCpy $R3 $R0 1 -$R1
3617 ;--------------------------------
3618 ;Handle what must and what must not be installed
3619 Function .onSelChange
3620 ; If they install the server, they MUST install the client
3621 SectionGetFlags ${secServer} $R0
3622 IntOp $R0 $R0 & ${SF_SELECTED}
3623 StrCmp $R0 "1" MakeClientSelected
3625 ; If they install the control center, we'll give them the client.
3626 ; It may not be required, but it's a bit more useful
3627 SectionGetFlags ${secControl} $R0
3628 IntOp $R0 $R0 & ${SF_SELECTED}
3629 StrCmp $R0 "1" MakeClientSelected
3633 SectionGetFlags ${secClient} $R0
3634 IntOp $R0 $R0 | ${SF_SELECTED}
3635 SectionSetFlags ${secClient} $R0
3640 Function RegWriteMultiStr
3641 !define HKEY_CLASSES_ROOT 0x80000000
3642 !define HKEY_CURRENT_USER 0x80000001
3643 !define HKEY_LOCAL_MACHINE 0x80000002
3644 !define HKEY_USERS 0x80000003
3645 !define HKEY_PERFORMANCE_DATA 0x80000004
3646 !define HKEY_PERFORMANCE_TEXT 0x80000050
3647 !define HKEY_PERFORMANCE_NLSTEXT 0x80000060
3648 !define HKEY_CURRENT_CONFIG 0x80000005
3649 !define HKEY_DYN_DATA 0x80000006
3651 !define KEY_QUERY_VALUE 0x0001
3652 !define KEY_SET_VALUE 0x0002
3653 !define KEY_CREATE_SUB_KEY 0x0004
3654 !define KEY_ENUMERATE_SUB_KEYS 0x0008
3655 !define KEY_NOTIFY 0x0010
3656 !define KEY_CREATE_LINK 0x0020
3660 !define REG_EXPAND_SZ 2
3661 !define REG_BINARY 3
3663 !define REG_DWORD_LITTLE_ENDIAN 4
3664 !define REG_DWORD_BIG_ENDIAN 5
3666 !define REG_MULTI_SZ 7
3668 !define RegCreateKey "Advapi32::RegCreateKeyA(i, t, *i) i"
3669 !define RegSetValueEx "Advapi32::RegSetValueExA(i, t, i, i, i, i) i"
3670 !define RegCloseKey "Advapi32::RegCloseKeyA(i) i"
3677 SetPluginUnload alwaysoff
3678 ; Create a buffer for the multi_sz value
3679 System::Call "*(&t${NSIS_MAX_STRLEN}) i.r1"
3680 ; Open/create the registry key
3681 System::Call "${RegCreateKey}(${HKEY_LOCAL_MACHINE}, '$REG_SUB_KEY', .r0) .r9"
3684 MessageBox MB_OK|MB_ICONSTOP "Can't create registry key! ($9)"
3688 ; Fill in the buffer with our strings
3689 StrCpy $2 $1 ; Initial position
3691 StrLen $9 '$REG_DATA_1' ; Length of first string
3692 IntOp $9 $9 + 1 ; Plus null
3693 System::Call "*$2(&t$9 '$REG_DATA_1')" ; Place the string
3694 IntOp $2 $2 + $9 ; Advance to the next position
3696 StrCmp '$REG_DATA_2' "" terminate
3697 StrLen $9 '$REG_DATA_2' ; Length of second string
3698 IntOp $9 $9 + 1 ; Plus null
3699 System::Call "*$2(&t$9 '$REG_DATA_2')" ; Place the string
3700 IntOp $2 $2 + $9 ; Advance to the next position
3702 StrCmp '$REG_DATA_3' "" terminate
3703 StrLen $9 '$REG_DATA_3' ; Length of third string
3704 IntOp $9 $9 + 1 ; Plus null
3705 System::Call "*$2(&t$9 '$REG_DATA_3')" ; Place the string
3706 IntOp $2 $2 + $9 ; Advance to the next position
3709 System::Call "*$2(&t1 '')" ; Place the terminating null
3710 IntOp $2 $2 + 1 ; Advance to the next position
3712 ; Create/write the value
3713 IntOp $2 $2 - $1 ; Total length
3714 System::Call "${RegSetValueEx}(r0, '$REG_VALUE', 0, ${REG_MULTI_SZ}, r1, r2) .r9"
3717 MessageBox MB_OK|MB_ICONSTOP "Can't set key value! ($9)"
3721 ; Close the registry key
3722 System::Call "${RegCloseKey}(r0)"
3726 SetPluginUnload manual