1 ;OpenAFS Install Script for NSIS
3 ; Written by Rob Murawski <rsm4@ieee.org>
6 ;NSIS Modern User Interface version 1.63
7 ;MultiLanguage Example Script
8 ;Written by Joost Verburg
10 !define MUI_PRODUCT "OpenAFS" ;Define your own software name here
11 !include nsi-includes.nsi
12 ; Define DEBUG if building a DEBUG installer
18 ;--------------------------------
23 OutFile "OpenAFSforWindows.exe"
25 OutFile "OpenAFSforWindows-DEBUG.exe"
29 !define MUI_ICON "..\..\client_config\afs_config.ico"
30 !define MUI_UNICON "c:\Program Files\NSIS\Contrib\Icons\normal-uninstall.ico"
31 !define AFS_COMPANY_NAME "OpenAFS"
32 !define AFS_PRODUCT_NAME "OpenAFS"
33 !define AFS_REGKEY_ROOT "Software\TransarcCorporation"
36 ;Folder selection page
37 InstallDir "$PROGRAMFILES\OpenAFS\AFS"
39 ;Remember install folder
40 InstallDirRegKey HKCU "Software\TransarcCorporation" ""
42 ;Remember the installer language
43 !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
44 !define MUI_LANGDLL_REGISTRY_KEY "Software\TransarcCorporation"
45 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
48 !define AFS_CLIENT_BUILDDIR "${AFS_DESTDIR}\root.client\usr\vice\etc"
49 !define AFS_WININSTALL_DIR "${AFS_DESTDIR}\WinInstall\Config"
50 !define AFS_BUILD_INCDIR "${AFS_DESTDIR}\include"
51 !define AFS_CLIENT_LIBDIR "${AFS_DESTDIR}\lib"
52 !define AFS_SERVER_BUILDDIR "${AFS_DESTDIR}\root.server\usr\afs\bin"
53 !define AFS_ETC_BUILDDIR "${AFS_DESTDIR}\etc"
55 ;--------------------------------
56 ;Modern UI Configuration
58 ;!define MUI_LICENSEPAGE
59 !define MUI_CUSTOMPAGECOMMANDS
60 !define MUI_WELCOMEPAGE
61 !define MUI_COMPONENTSPAGE
62 !define MUI_COMPONENTSPAGE_SMALLDESC
63 !define MUI_DIRECTORYPAGE
65 !define MUI_ABORTWARNING
66 !define MUI_FINISHPAGE
68 !define MUI_UNINSTALLER
69 !define MUI_UNCONFIRMPAGE
72 !insertmacro MUI_PAGECOMMAND_WELCOME
73 ;!insertmacro MUI_PAGECOMMAND_LICENSE
74 !insertmacro MUI_PAGECOMMAND_COMPONENTS
75 !insertmacro MUI_PAGECOMMAND_DIRECTORY
76 Page custom AFSPageGetCellServDB
77 Page custom AFSPageGetCellName
78 ;Page custom AFSPageGetConfigURL
79 !insertmacro MUI_PAGECOMMAND_INSTFILES
80 !insertmacro MUI_PAGECOMMAND_FINISH
82 ;LicenseData "Licenses.rtf"
83 ;--------------------------------
86 !insertmacro MUI_LANGUAGE "English"
87 ;!insertmacro MUI_LANGUAGE "French"
88 !insertmacro MUI_LANGUAGE "German"
89 !insertmacro MUI_LANGUAGE "Spanish"
90 !insertmacro MUI_LANGUAGE "SimpChinese"
91 !insertmacro MUI_LANGUAGE "TradChinese"
92 !insertmacro MUI_LANGUAGE "Japanese"
93 ;!insertmacro MUI_LANGUAGE "Korean"
94 ;!insertmacro MUI_LANGUAGE "Italian"
95 ;!insertmacro MUI_LANGUAGE "Dutch"
96 ;!insertmacro MUI_LANGUAGE "Danish"
97 ;!insertmacro MUI_LANGUAGE "Greek"
98 ;!insertmacro MUI_LANGUAGE "Russian"
99 !insertmacro MUI_LANGUAGE "PortugueseBR"
100 ;!insertmacro MUI_LANGUAGE "Polish"
101 ;!insertmacro MUI_LANGUAGE "Ukrainian"
102 ;!insertmacro MUI_LANGUAGE "Czech"
103 ;!insertmacro MUI_LANGUAGE "Slovak"
104 ;!insertmacro MUI_LANGUAGE "Croatian"
105 ;!insertmacro MUI_LANGUAGE "Bulgarian"
106 ;!insertmacro MUI_LANGUAGE "Hungarian"
107 ;!insertmacro MUI_LANGUAGE "Thai"
108 ;!insertmacro MUI_LANGUAGE "Romanian"
109 ;!insertmacro MUI_LANGUAGE "Macedonian"
110 ;!insertmacro MUI_LANGUAGE "Turkish"
112 ;--------------------------------
116 LangString DESC_SecCopyUI ${LANG_ENGLISH} "OpenAFS for Windows: English"
117 ;LangString DESC_SecCopyUI ${LANG_FRENCH} "OpenAFS for Windows: French"
118 LangString DESC_SecCopyUI ${LANG_GERMAN} "OpenAFS for Windows: German"
119 LangString DESC_SecCopyUI ${LANG_SPANISH} "OpenAFS for Windows: Spanish"
120 LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "OpenAFS for Windows: Simplified Chinese"
121 LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "OpenAFS for Windows: Traditional Chinese description"
122 LangString DESC_SecCopyUI ${LANG_JAPANESE} "OpenAFS for Windows: Japanese description"
123 ;LangString DESC_SecCopyUI ${LANG_KOREAN} "OpenAFS for Windows: Korean description"
124 ;LangString DESC_SecCopyUI ${LANG_ITALIAN} "OpenAFS for Windows: Italian description"
125 ;LangString DESC_SecCopyUI ${LANG_DUTCH} "OpenAFS for Windows: Dutch description"
126 ;LangString DESC_SecCopyUI ${LANG_DANISH} "OpenAFS for Windows: Danish description"
127 ;LangString DESC_SecCopyUI ${LANG_GREEK} "OpenAFS for Windows: Greek description"
128 ;LangString DESC_SecCopyUI ${LANG_RUSSIAN} "OpenAFS for Windows: Russian description"
129 LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "OpenAFS for Windows: Portuguese (Brasil) description"
130 ;LangString DESC_SecCopyUI ${LANG_POLISH} "OpenAFS for Windows: Polish description"
131 ;LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "OpenAFS for Windows: Ukrainian description"
132 ;LangString DESC_SecCopyUI ${LANG_CZECH} "OpenAFS for Windows: Czechian description"
133 ;LangString DESC_SecCopyUI ${LANG_SLOVAK} "OpenAFS for Windows: Slovakian description"
134 ;LangString DESC_SecCopyUI ${LANG_CROATIAN} "OpenAFS for Windows: Slovakian description"
135 ;LangString DESC_SecCopyUI ${LANG_BULGARIAN} "OpenAFS for Windows: Bulgarian description"
136 ;LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "OpenAFS for Windows: Hungarian description"
137 ;LangString DESC_SecCopyUI ${LANG_THAI} "OpenAFS for Windows: Thai description"
138 ;LangString DESC_SecCopyUI ${LANG_ROMANIAN} "OpenAFS for Windows: Romanian description"
139 ;LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "OpenAFS for Windows: Macedonian description"
140 ;LangString DESC_SecCopyUI ${LANG_TURKISH} "OpenAFS for Windows: Turkish description"
142 LangString DESC_SecClient ${LANG_ENGLISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
143 LangString DESC_SecClient ${LANG_GERMAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
144 LangString DESC_SecClient ${LANG_SPANISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
145 LangString DESC_SecClient ${LANG_SIMPCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
146 LangString DESC_SecClient ${LANG_TRADCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
147 LangString DESC_SecClient ${LANG_JAPANESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
148 ;LangString DESC_SecClient ${LANG_KOREAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
149 LangString DESC_SecClient ${LANG_PORTUGUESEBR} "OpenAFS Client: Allows you to access AFS from your Windows PC."
151 LangString DESC_SecServer ${LANG_ENGLISH} "OpenAFS Server: Allows you to run an AFS file server."
152 LangString DESC_SecServer ${LANG_GERMAN} "OpenAFS Server: Allows you to run an AFS file server."
153 LangString DESC_SecServer ${LANG_SPANISH} "OpenAFS Server: Allows you to run an AFS file server."
154 LangString DESC_SecServer ${LANG_SIMPCHINESE} "OpenAFS Server: Allows you to run an AFS file server."
155 LangString DESC_SecServer ${LANG_TRADCHINESE} "OpenAFS Server: Allows you to run an AFS file server."
156 LangString DESC_SecServer ${LANG_JAPANESE} "OpenAFS Server: Allows you to run an AFS file server."
157 ;LangString DESC_SecServer ${LANG_KOREAN} "OpenAFS Server: Allows you to run an AFS file server."
158 LangString DESC_SecServer ${LANG_PORTUGUESEBR} "OpenAFS Server: Allows you to run an AFS file server."
160 LangString DESC_SecControl ${LANG_ENGLISH} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
161 LangString DESC_SecControl ${LANG_GERMAN} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
162 LangString DESC_SecControl ${LANG_SPANISH} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
163 LangString DESC_SecControl ${LANG_SIMPCHINESE} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
164 LangString DESC_SecControl ${LANG_TRADCHINESE} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
165 LangString DESC_SecControl ${LANG_JAPANESE} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
166 ;LangString DESC_SecControl ${LANG_KOREAN} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
167 LangString DESC_SecControl ${LANG_PORTUGUESEBR} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
169 LangString DESC_SecDocs ${LANG_ENGLISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
170 LangString DESC_SecDocs ${LANG_GERMAN} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
171 LangString DESC_SecDocs ${LANG_SPANISH} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
172 LangString DESC_SecDocs ${LANG_SIMPCHINESE} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
173 LangString DESC_SecDocs ${LANG_TRADCHINESE} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
174 LangString DESC_SecDocs ${LANG_JAPANESE} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
175 ;LangString DESC_SecDocs ${LANG_KOREAN} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
176 LangString DESC_SecDocs ${LANG_PORTUGUESEBR} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
178 ; Popup error messages
179 LangString CellError ${LANG_ENGLISH} "You must specify a valid CellServDB file to copy during install"
180 LangString CellError ${LANG_GERMAN} "You must specify a valid CellServDB file to copy during the install"
181 LangString CellError ${LANG_SPANISH} "You must specify a valid CellServDB file to copy during the install"
182 LangString CellError ${LANG_SIMPCHINESE} "You must specify a valid CellServDB file to copy during the install"
183 LangString CellError ${LANG_TRADCHINESE} "You must specify a valid CellServDB file to copy during the install"
184 LangString CellError ${LANG_JAPANESE} "You must specify a valid CellServDB file to copy during the install"
185 ;LangString CellError ${LANG_KOREAN} "You must specify a valid CellServDB file to copy during the install"
186 LangString CellError ${LANG_PORTUGUESEBR} "You must specify a valid CellServDB file to copy during the install"
189 ; Upgrade/re-install strings
190 LangString UPGRADE_CLIENT ${LANG_ENGLISH} "Upgrade AFS Client"
191 LangString UPGRADE_CLIENT ${LANG_GERMAN} "Upgrade AFS Client"
192 LangString UPGRADE_CLIENT ${LANG_SPANISH} "Upgrade AFS Client"
193 LangString UPGRADE_CLIENT ${LANG_SIMPCHINESE} "Upgrade AFS Client"
194 LangString UPGRADE_CLIENT ${LANG_TRADCHINESE} "Upgrade AFS Client"
195 LangString UPGRADE_CLIENT ${LANG_JAPANESE} "Upgrade AFS Client"
196 ;LangString UPGRADE_CLIENT ${LANG_KOREAN} "Upgrade AFS Client"
197 LangString UPGRADE_CLIENT ${LANG_PORTUGUESEBR} "Upgrade AFS Client"
200 LangString REINSTALL_SERVER ${LANG_ENGLISH} "Re-install AFS Server"
201 LangString REINSTALL_SERVER ${LANG_GERMAN} "Re-install AFS Server"
202 LangString REINSTALL_SERVER ${LANG_SPANISH} "Re-install AFS Server"
203 LangString REINSTALL_SERVER ${LANG_SIMPCHINESE} "Re-install AFS Server"
204 LangString REINSTALL_SERVER ${LANG_TRADCHINESE} "Re-install AFS Server"
205 LangString REINSTALL_SERVER ${LANG_JAPANESE} "Re-install AFS Server"
206 ;LangString REINSTALL_SERVER ${LANG_KOREAN} "Re-install AFS Server"
207 LangString REINSTALL_SERVER ${LANG_PORTUGUESEBR} "Re-install AFS Server"
209 ;--------------------------------
211 ; Macro - Upgrade DLL File
212 ; Written by Joost Verburg
213 ; ------------------------
216 ; !insertmacro UpgradeDLL "dllname.dll" "$SYSDIR\dllname.dll"
218 ; !define UPGRADEDLL_NOREGISTER if you want to upgrade a DLL which cannot be registered
220 ; Note that this macro sets overwrite to ON (the default) when it has been inserted.
221 ; If you are using another setting, set it again after inserting the macro.
224 !macro UpgradeDLL LOCALFILE DESTFILE
231 ;------------------------
232 ;Check file and version
234 IfFileExists "${DESTFILE}" "" "copy_${LOCALFILE}"
237 GetDLLVersionLocal "${LOCALFILE}" $R0 $R1
238 GetDLLVersion "${DESTFILE}" $R2 $R3
239 IfErrors "upgrade_${LOCALFILE}"
241 IntCmpU $R0 $R2 "" "done_${LOCALFILE}" "upgrade_${LOCALFILE}"
242 IntCmpU $R1 $R3 "done_${LOCALFILE}" "done_${LOCALFILE}" "upgrade_${LOCALFILE}"
244 ;------------------------
245 ;Let's upgrade the DLL!
249 "upgrade_${LOCALFILE}:"
250 !ifndef UPGRADEDLL_NOREGISTER
252 UnRegDLL "${DESTFILE}"
255 ;------------------------
256 ;Try to copy the DLL directly
259 StrCpy $R0 "${DESTFILE}"
260 Call ":file_${LOCALFILE}"
261 IfErrors "" "noreboot_${LOCALFILE}"
263 ;------------------------
264 ;DLL is in use. Copy it to a temp file and Rename it on reboot.
267 Call ":file_${LOCALFILE}"
268 Rename /REBOOTOK $R0 "${DESTFILE}"
270 ;------------------------
271 ;Register the DLL on reboot
273 !ifndef UPGRADEDLL_NOREGISTER
274 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
275 "Register ${DESTFILE}" '"$SYSDIR\rundll32.exe" "${DESTFILE},DllRegisterServer"'
278 Goto "done_${LOCALFILE}"
280 ;------------------------
281 ;DLL does not exist - just extract
284 StrCpy $R0 "${DESTFILE}"
285 Call ":file_${LOCALFILE}"
287 ;------------------------
290 "noreboot_${LOCALFILE}:"
291 !ifndef UPGRADEDLL_NOREGISTER
295 ;------------------------
305 ;------------------------
308 Goto "end_${LOCALFILE}"
310 ;------------------------
311 ;Called to extract the DLL
314 File /oname=$R0 "${LOCALFILE}"
319 ;------------------------
320 ;Set overwrite to default
321 ;(was set to TRY above)
328 ;--------------------------------
331 ;Things that need to be extracted on first (keep these lines before any File command!)
332 ;Only useful for BZIP2 compression
333 !insertmacro MUI_RESERVEFILE_LANGDLL
335 ;--------------------------------
338 ;----------------------
340 Section "AFS Client" SecClient
342 SetShellVarContext all
343 ; Do client components
344 SetOutPath "$INSTDIR\Client\Program"
345 File "${AFS_CLIENT_BUILDDIR}\afsshare.exe"
346 File "${AFS_BUILD_INCDIR}\afs\cm_config.h"
347 File "${AFS_CLIENT_BUILDDIR}\libosi.dll"
348 File "${AFS_BUILD_INCDIR}\afs\kautils.h"
349 File "${AFS_CLIENT_BUILDDIR}\libafsconf.dll"
350 File "${AFS_CLIENT_BUILDDIR}\klog.exe"
351 File "${AFS_CLIENT_BUILDDIR}\tokens.exe"
352 File "${AFS_CLIENT_BUILDDIR}\unlog.exe"
353 File "${AFS_CLIENT_BUILDDIR}\fs.exe"
354 File "${AFS_CLIENT_LIBDIR}\libafsconf.lib"
355 File "${AFS_CLIENT_LIBDIR}\afsauthent.lib"
356 File "${AFS_CLIENT_BUILDDIR}\afscreds.exe"
357 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll"
358 File "${AFS_BUILD_INCDIR}\afs\auth.h"
359 File "${AFS_CLIENT_BUILDDIR}\afsd_service.exe"
360 File "${AFS_CLIENT_BUILDDIR}\afslogon.dll"
361 File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
362 File "${AFS_DESTDIR}\bin\kpasswd.exe"
363 File "${AFS_SERVER_BUILDDIR}\pts.exe"
364 File "${AFS_SERVER_BUILDDIR}\bos.exe"
365 File "${AFS_SERVER_BUILDDIR}\kas.exe"
366 File "${AFS_SERVER_BUILDDIR}\vos.exe"
367 File "${AFS_SERVER_BUILDDIR}\udebug.exe"
368 File "${AFS_DESTDIR}\bin\translate_et.exe"
369 File "${AFS_DESTDIR}\etc\rxdebug.exe"
370 File "${AFS_DESTDIR}\etc\backup.exe"
373 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
374 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
375 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
376 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
377 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
378 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
379 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
380 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
381 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
382 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
383 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
384 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
385 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
386 ;File "${AFS_SERVER_BUILDDIR}\pts.pdb"
387 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
388 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
389 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
390 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
391 File "${AFS_DESTDIR}\bin\translate_et.pdb"
392 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
393 File "${AFS_DESTDIR}\etc\backup.pdb"
397 SetOutPath "$INSTDIR\Client\Program\Include"
398 File "${AFS_BUILD_INCDIR}\lock.h"
399 File "${AFS_BUILD_INCDIR}\lwp.h"
400 File "${AFS_BUILD_INCDIR}\preempt.h"
401 File "${AFS_BUILD_INCDIR}\timer.h"
402 File "${AFS_BUILD_INCDIR}\des.h"
403 File "${AFS_BUILD_INCDIR}\des_conf.h"
404 File "${AFS_BUILD_INCDIR}\mit-cpyright.h"
405 ;File "${AFS_BUILD_INCDIR}\des-odd.h"
406 File "${AFS_BUILD_INCDIR}\crypt.h"
407 File "${AFS_BUILD_INCDIR}\pthread.h"
408 File "${AFS_BUILD_INCDIR}\dbrpc.h"
409 File "${AFS_BUILD_INCDIR}\basic.h"
410 File "${AFS_BUILD_INCDIR}\osidebug.h"
411 File "${AFS_BUILD_INCDIR}\osiltype.h"
412 File "${AFS_BUILD_INCDIR}\osistatl.h"
413 File "${AFS_BUILD_INCDIR}\trylock.h"
414 File "${AFS_BUILD_INCDIR}\main.h"
415 File "${AFS_BUILD_INCDIR}\osibasel.h"
416 File "${AFS_BUILD_INCDIR}\osifd.h"
417 File "${AFS_BUILD_INCDIR}\osiqueue.h"
418 File "${AFS_BUILD_INCDIR}\osiutils.h"
419 File "${AFS_BUILD_INCDIR}\osi.h"
420 File "${AFS_BUILD_INCDIR}\osidb.h"
421 File "${AFS_BUILD_INCDIR}\osilog.h"
422 File "${AFS_BUILD_INCDIR}\osisleep.h"
423 File "${AFS_BUILD_INCDIR}\perf.h"
424 File "${AFS_BUILD_INCDIR}\ubik.h"
425 File "${AFS_BUILD_INCDIR}\ubik_int.h"
429 SetOutPath "$INSTDIR\Client\Program\Include\afs"
430 File "${AFS_BUILD_INCDIR}\afs\afs_args.h"
431 File "${AFS_BUILD_INCDIR}\afs\debug.h"
432 File "${AFS_BUILD_INCDIR}\afs\param.h"
433 File "${AFS_BUILD_INCDIR}\afs\afs_sysnames.h"
434 ;File "${AFS_BUILD_INCDIR}\afs\permit_xprt.h"
435 File "${AFS_BUILD_INCDIR}\afs\stds.h"
436 File "${AFS_BUILD_INCDIR}\afs\icl.h"
437 File "${AFS_BUILD_INCDIR}\afs\procmgmt.h"
438 File "${AFS_BUILD_INCDIR}\afs\afsutil.h"
439 File "${AFS_BUILD_INCDIR}\afs\assert.h"
440 File "${AFS_BUILD_INCDIR}\afs\dirent.h"
441 File "${AFS_BUILD_INCDIR}\afs\errors.h"
442 File "${AFS_BUILD_INCDIR}\afs\itc.h"
443 File "${AFS_BUILD_INCDIR}\afs\vice.h"
444 File "${AFS_BUILD_INCDIR}\afs\pthread_glock.h"
445 File "${AFS_BUILD_INCDIR}\afs\errmap_nt.h"
446 File "${AFS_BUILD_INCDIR}\afs\dirpath.h"
447 File "${AFS_BUILD_INCDIR}\afs\ktime.h"
448 File "${AFS_BUILD_INCDIR}\afs\fileutil.h"
449 File "${AFS_BUILD_INCDIR}\afs\secutil_nt.h"
450 File "${AFS_BUILD_INCDIR}\afs\com_err.h"
451 File "${AFS_BUILD_INCDIR}\afs\error_table.h"
452 ;File "${AFS_BUILD_INCDIR}\afs\mit_sipb-cr.h"
453 File "${AFS_BUILD_INCDIR}\afs\cmd.h"
454 File "${AFS_BUILD_INCDIR}\afs\rxgen_consts.h"
455 File "${AFS_BUILD_INCDIR}\afs\afsint.h"
456 File "${AFS_BUILD_INCDIR}\afs\afscbint.h"
457 File "${AFS_BUILD_INCDIR}\afs\audit.h"
458 File "${AFS_BUILD_INCDIR}\afs\acl.h"
459 File "${AFS_BUILD_INCDIR}\afs\prs_fs.h"
460 File "${AFS_BUILD_INCDIR}\afs\afsd.h"
461 File "${AFS_BUILD_INCDIR}\afs\cm.h"
462 File "${AFS_BUILD_INCDIR}\afs\cm_buf.h"
463 File "${AFS_BUILD_INCDIR}\afs\cm_cell.h"
464 File "${AFS_BUILD_INCDIR}\afs\cm_config.h"
465 File "${AFS_BUILD_INCDIR}\afs\cm_conn.h"
466 File "${AFS_BUILD_INCDIR}\afs\cm_ioctl.h"
467 File "${AFS_BUILD_INCDIR}\afs\cm_scache.h"
468 File "${AFS_BUILD_INCDIR}\afs\cm_server.h"
469 File "${AFS_BUILD_INCDIR}\afs\cm_user.h"
470 File "${AFS_BUILD_INCDIR}\afs\cm_utils.h"
471 File "${AFS_BUILD_INCDIR}\afs\fs_utils.h"
472 File "${AFS_BUILD_INCDIR}\afs\krb.h"
473 File "${AFS_BUILD_INCDIR}\afs\krb_prot.h"
474 File "${AFS_BUILD_INCDIR}\afs\smb.h"
475 File "${AFS_BUILD_INCDIR}\afs\smb3.h"
476 File "${AFS_BUILD_INCDIR}\afs\smb_iocons.h"
477 File "${AFS_BUILD_INCDIR}\afs\smb_ioctl.h"
478 File "${AFS_BUILD_INCDIR}\afs\afsrpc.h"
479 File "${AFS_BUILD_INCDIR}\afs\afssyscalls.h"
480 File "${AFS_BUILD_INCDIR}\afs\pioctl_nt.h"
481 File "${AFS_BUILD_INCDIR}\afs\auth.h"
482 File "${AFS_BUILD_INCDIR}\afs\cellconfig.h"
483 File "${AFS_BUILD_INCDIR}\afs\keys.h"
484 File "${AFS_BUILD_INCDIR}\afs\ptserver.h"
485 File "${AFS_BUILD_INCDIR}\afs\ptint.h"
486 File "${AFS_BUILD_INCDIR}\afs\pterror.h"
487 File "${AFS_BUILD_INCDIR}\afs\ptint.h"
488 File "${AFS_BUILD_INCDIR}\afs\pterror.h"
489 File "${AFS_BUILD_INCDIR}\afs\ptclient.h"
490 File "${AFS_BUILD_INCDIR}\afs\prserver.h"
491 File "${AFS_BUILD_INCDIR}\afs\print.h"
492 File "${AFS_BUILD_INCDIR}\afs\prerror.h"
493 File "${AFS_BUILD_INCDIR}\afs\prclient.h"
494 File "${AFS_BUILD_INCDIR}\afs\kautils.h"
495 File "${AFS_BUILD_INCDIR}\afs\kauth.h"
496 File "${AFS_BUILD_INCDIR}\afs\kaport.h"
497 File "${AFS_BUILD_INCDIR}\afs\vl_opcodes.h"
498 File "${AFS_BUILD_INCDIR}\afs\vlserver.h"
499 File "${AFS_BUILD_INCDIR}\afs\vldbint.h"
500 File "${AFS_BUILD_INCDIR}\afs\usd.h"
501 File "${AFS_BUILD_INCDIR}\afs\bubasics.h"
502 File "${AFS_BUILD_INCDIR}\afs\butc.h"
503 File "${AFS_BUILD_INCDIR}\afs\bumon.h"
504 File "${AFS_BUILD_INCDIR}\afs\butm.h"
505 File "${AFS_BUILD_INCDIR}\afs\tcdata.h"
506 File "${AFS_BUILD_INCDIR}\afs\budb.h"
507 ;File "${AFS_BUILD_INCDIR}\afs\budb_errors.h"
508 File "${AFS_BUILD_INCDIR}\afs\budb_client.h"
509 File "${AFS_BUILD_INCDIR}\afs\dir.h"
510 File "${AFS_BUILD_INCDIR}\afs\fssync.h"
511 File "${AFS_BUILD_INCDIR}\afs\ihandle.h"
512 File "${AFS_BUILD_INCDIR}\afs\nfs.h"
513 File "${AFS_BUILD_INCDIR}\afs\ntops.h"
514 File "${AFS_BUILD_INCDIR}\afs\partition.h"
515 File "${AFS_BUILD_INCDIR}\afs\viceinode.h"
516 File "${AFS_BUILD_INCDIR}\afs\vnode.h"
517 File "${AFS_BUILD_INCDIR}\afs\volume.h"
518 File "${AFS_BUILD_INCDIR}\afs\voldefs.h"
519 File "${AFS_BUILD_INCDIR}\afs\volser.h"
520 File "${AFS_BUILD_INCDIR}\afs\volint.h"
521 File "${AFS_BUILD_INCDIR}\afs\fs_stats.h"
522 File "${AFS_BUILD_INCDIR}\afs\bosint.h"
523 File "${AFS_BUILD_INCDIR}\afs\bnode.h"
526 SetOutPath "$INSTDIR\Client\Program\Include\rx"
527 File "${AFS_BUILD_INCDIR}\rx\rx.h"
528 File "${AFS_BUILD_INCDIR}\rx\rx_packet.h"
529 File "${AFS_BUILD_INCDIR}\rx\rx_user.h"
530 File "${AFS_BUILD_INCDIR}\rx\rx_event.h"
531 File "${AFS_BUILD_INCDIR}\rx\rx_queue.h"
532 File "${AFS_BUILD_INCDIR}\rx\rx_globals.h"
533 File "${AFS_BUILD_INCDIR}\rx\rx_clock.h"
534 File "${AFS_BUILD_INCDIR}\rx\rx_misc.h"
535 File "${AFS_BUILD_INCDIR}\rx\rx_multi.h"
536 File "${AFS_BUILD_INCDIR}\rx\rx_null.h"
537 File "${AFS_BUILD_INCDIR}\rx\rx_lwp.h"
538 File "${AFS_BUILD_INCDIR}\rx\rx_pthread.h"
539 File "${AFS_BUILD_INCDIR}\rx\rx_xmit_nt.h"
540 File "${AFS_BUILD_INCDIR}\rx\xdr.h"
541 File "${AFS_BUILD_INCDIR}\rx\rxkad.h"
546 SetOutPath "$INSTDIR\Client\Program\Sample"
547 File "..\..\afsd\sample\token.c"
553 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl"
555 ;File "${SDK_DIR}\REDIST\msvcrtd.dll"
556 ;File "${SDK_DIR}\REDIST\msvcrtd.pdb"
557 !insertmacro UpgradeDLL "${AFS_WININSTALL_DIR}\mfc42d.dll" "$SYSDIR\mfc42d.dll"
559 ;File "${SDK_DIR}\REDIST\msvcrt.dll"
560 !insertmacro UpgradeDLL "${AFS_WININSTALL_DIR}\mfc42.dll" "$SYSDIR\mfc42.dll"
563 ; Do WINDOWSDIR components
564 ; Get AFS CellServDB file
565 Call afs.GetCellServDB
566 ;Call afs.InstallMSLoopback
568 ; Include Kerberos for Windows files in the installer...
569 ;SetOutPath "$INSTDIR\kfw\bin\"
570 ;File "${KFW_SOURCE}\bin\*"
571 ;SetOutPath "$INSTDIR\kfw\doc"
572 ;File "${KFW_SOURCE}\doc\*"
574 ReadINIStr $R0 $0 "Field 2" "State"
575 StrCmp $R0 "1" UsePkg DontUsePkg
580 ReadINIStr $R0 $0 "Field 6" "State"
581 StrCmp $R0 "1" UseFile DontUseFile
583 ReadINIStr $R0 $0 "Field 7" "State"
584 CopyFiles $R0 "$WINDIR\afsdcell.ini"
587 ;Store install folder
588 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
589 Call AFSCommon.Install
591 ; Write registry entries
592 WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
593 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "" "AFS Client Shell Extension"
594 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "" "$INSTDIR\Client\Program\afs_shl_ext.dll"
595 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
596 WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
597 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "AFS Client Shell Extension"
600 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
601 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${MUI_VERSION}
602 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Title" "AFS Client"
603 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Description" "AFS Client"
604 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName" "$INSTDIR\Client\Program"
605 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Software Type" "File System"
606 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${MUI_MAJORVERSION}
607 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${MUI_MINORVERSION}
608 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${MUI_PATCHLEVEL}
609 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${MUI_VERSION}" "VersionString" ${MUI_VERSION}
610 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${MUI_VERSION}" "Title" "AFS Client"
611 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${MUI_VERSION}" "Description" "AFS Client"
612 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${MUI_VERSION}" "Software Type" "File System"
613 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${MUI_VERSION}" "PathName" "$INSTDIR\Client\Program"
614 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${MUI_VERSION}" "MajorVersion" ${MUI_MAJORVERSION}
615 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${MUI_VERSION}" "MinorVersion" ${MUI_MINORVERSION}
616 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${MUI_VERSION}" "PatchLevel" ${MUI_PATCHLEVEL}
618 ; Set network settings
619 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled" 0
621 ;Write start menu entries
622 CreateDirectory "$SMPROGRAMS\OpenAFS\Client"
623 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
624 CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe"
625 CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Program\afscreds.exe"
627 Push "$INSTDIR\Client\Program"
629 Push "$INSTDIR\Common"
632 ; Add kfw to path too
633 Push "$INSTDIR\kfw\bin"
636 ; Create the AFS service
637 SetOutPath "$INSTDIR\Common"
638 File "${AFS_WININSTALL_DIR}\Service.exe"
639 nsExec::Exec "net stop TransarcAFSDaemon"
640 ;IMPORTANT! If we are not refreshing the config files, do NOT remove the service
641 ;Don't re-install because it must be present or we wouldn't have passed the Reg check
642 ReadINIStr $R2 $1 "Field 2" "State"
644 StrCmp $R2 "" skipremove
645 nsExec::Exec '$INSTDIR\Common\Service.exe u TransarcAFSDaemon'
646 nsExec::Exec '$INSTDIR\Common\Service.exe TransarcAFSDaemon "$INSTDIR\Client\Program\afsd_service.exe" "OpenAFS Client Service"'
648 Delete "$INSTDIR\Common\service.exe"
651 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "(Default)" ""
652 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
653 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Class" 2
654 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonOptions" 2
655 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x"
656 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
657 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "ProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
660 ReadINIStr $R0 $1 "Field 2" "State"
661 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell" $R0
662 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "ShowTrayIcon" 1
663 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel" 1
666 WriteUninstaller "$INSTDIR\Uninstall.exe"
670 ;------------------------
672 Section "AFS Server" SecServer
674 SetShellVarContext all
676 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
677 CreateDirectory "$INSTDIR\Server\usr\afs\local"
678 CreateDirectory "$INSTDIR\Server\usr\afs\logs"
680 SetOutPath "$INSTDIR\Server\usr\afs\bin"
681 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
682 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
683 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
684 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
685 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
686 File "${AFS_ETC_BUILDDIR}\butc.exe"
687 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
688 File "${AFS_ETC_BUILDDIR}\fms.exe"
689 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
690 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
691 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
692 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
693 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
694 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
695 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
696 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
698 ;AFS Server common files
699 SetOutPath "$INSTDIR\Common"
700 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
701 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
702 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
703 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
704 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
705 SetOutPath "$INSTDIR\Common"
709 File "${AFS_SERVER_BUILDDIR}\afsserver.cpl"
711 ;Store install folder
712 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
714 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
715 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${MUI_VERSION}
716 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
717 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
718 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
719 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
720 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${MUI_MAJORVERSION}
721 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${MUI_MINORVERSION}
722 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${MUI_PATCHLEVEL}
723 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${MUI_VERSION}" "VersionString" ${MUI_VERSION}
724 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${MUI_VERSION}" "Title" "AFS Server"
725 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${MUI_VERSION}" "Description" "AFS Server for Windows"
726 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${MUI_VERSION}" "Software Type" "File System"
727 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${MUI_VERSION}" "PathName" "$INSTDIR\Server"
728 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${MUI_VERSION}" "MajorVersion" ${MUI_MAJORVERSION}
729 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${MUI_VERSION}" "MinorVersion" ${MUI_MINORVERSION}
730 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${MUI_VERSION}" "PatchLevel" ${MUI_PATCHLEVEL}
732 ; Install the service
733 SetOutPath "$INSTDIR\Common"
734 File "${AFS_WININSTALL_DIR}\Service.exe"
735 nsExec::Exec "net stop TransarcAFSServer"
736 nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
737 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
738 Delete "$INSTDIR\Common\service.exe"
740 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
741 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Configuration Wizard.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" "/wizard"
743 WriteUninstaller "$INSTDIR\Uninstall.exe"
748 ;----------------------------
749 ; OpenAFS Control Center
750 Section "AFS Control Center" SecControl
752 SetShellVarContext all
754 SetOutPath "$INSTDIR\Control Center"
755 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
756 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
757 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
759 ;AFS Server common files
760 Call AFSCommon.Install
762 SetOutPath "$INSTDIR\Common"
764 SetOutPath "$INSTDIR\Common"
767 File "${AFS_WININSTALL_DIR}\msvcr71d.dll"
768 File "${AFS_WININSTALL_DIR}\msvcr71d.pdb"
770 File "${AFS_WININSTALL_DIR}\msvcrtd.dll"
771 File "${AFS_WININSTALL_DIR}\msvcrtd.pdb"
775 File "${AFS_WININSTALL_DIR}\msvcr71.dll"
777 File "${AFS_WININSTALL_DIR}\msvcrt.dll"
781 ;Store install folder
782 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
783 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${MUI_VERSION}
784 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${MUI_MAJORVERSION}
785 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${MUI_MINORVERSION}
786 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${MUI_PATCHLEVEL}
787 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${MUI_VERSION}" "VersionString" ${MUI_VERSION}
788 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${MUI_VERSION}" "MajorVersion" ${MUI_MAJORVERSION}
789 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${MUI_VERSION}" "MinorVersion" ${MUI_MINORVERSION}
790 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${MUI_VERSION}" "PatchLevel" ${MUI_PATCHLEVEL}
793 ;Write start menu entries
794 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
795 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
796 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
798 WriteUninstaller "$INSTDIR\Uninstall.exe"
803 ;----------------------------
804 ; OpenAFS Supplemental Documentation
805 Section "Supplemental Documentation" SecDocs
806 SetShellVarContext all
808 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
809 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
810 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
811 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
812 ;StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
813 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
814 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
815 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
819 SetOutPath "$INSTDIR\Documentation\html"
820 File "..\..\doc\install\Documentation\en_US\html\*"
821 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
822 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
823 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
824 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
825 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
826 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
827 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
828 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
832 SetOutPath "$INSTDIR\Documentation"
833 File "..\..\doc\install\Documentation\de_DE\README.TXT"
834 SetOutPath "$INSTDIR\Documentation\html"
835 File "..\..\doc\install\Documentation\de_DE\html\*"
836 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
837 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
838 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
839 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
840 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
841 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
842 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
843 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
847 SetOutPath "$INSTDIR\Documentation"
848 File "..\..\doc\install\Documentation\es_ES\README.TXT"
849 SetOutPath "$INSTDIR\Documentation\html"
850 File "..\..\doc\install\Documentation\es_ES\html\*"
851 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
852 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
853 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
854 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
855 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
856 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
857 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
858 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
862 SetOutPath "$INSTDIR\Documentation"
863 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
864 SetOutPath "$INSTDIR\Documentation\html"
865 File "..\..\doc\install\Documentation\ja_JP\html\*"
866 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
867 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
868 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
869 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
870 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
871 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
872 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
873 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
877 SetOutPath "$INSTDIR\Documentation"
878 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
879 SetOutPath "$INSTDIR\Documentation\html"
880 File "..\..\doc\install\Documentation\ko_KR\html\*"
881 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
882 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
883 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
884 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
885 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
886 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
887 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
888 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
892 SetOutPath "$INSTDIR\Documentation"
893 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
894 SetOutPath "$INSTDIR\Documentation\html"
895 File "..\..\doc\install\Documentation\pt_BR\html\*"
896 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
897 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
898 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
899 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
900 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
901 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
902 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
903 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
907 SetOutPath "$INSTDIR\Documentation"
908 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
909 SetOutPath "$INSTDIR\Documentation\html"
910 File "..\..\doc\install\Documentation\zh_CN\html\*"
911 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
912 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
913 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
914 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
915 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
916 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
917 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
918 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
922 SetOutPath "$INSTDIR\Documentation"
923 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
924 SetOutPath "$INSTDIR\Documentation\html"
925 File "..\..\doc\install\Documentation\zh_TW\html\*"
926 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
927 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
928 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
929 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
930 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
931 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
932 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
933 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
938 ;Store install folder
939 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
940 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${MUI_VERSION}
941 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${MUI_MAJORVERSION}
942 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${MUI_MINORVERSION}
943 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${MUI_PATCHLEVEL}
944 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${MUI_VERSION}" "VersionString" ${MUI_VERSION}
945 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${MUI_VERSION}" "MajorVersion" ${MUI_MAJORVERSION}
946 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${MUI_VERSION}" "MinorVersion" ${MUI_MINORVERSION}
947 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${MUI_VERSION}" "PatchLevel" ${MUI_PATCHLEVEL}
949 ; Write start menu shortcut
950 SetOutPath "$SMPROGRAMS\OpenAFS"
951 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
954 WriteUninstaller "$INSTDIR\Uninstall.exe"
955 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
958 ;Display the Finish header
959 ;Insert this macro after the sections if you are not using a finish page
960 ;!insertmacro MUI_SECTIONS_FINISHHEADER
962 ;--------------------------------
967 !insertmacro MUI_LANGDLL_DISPLAY
969 ; Set the default install options
974 StrCmp $R0 "true" contInstall
976 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
980 Call ShouldClientInstall
983 StrCmp $R2 "0" NoClient
984 StrCmp $R2 "2" UpgradeClient
986 StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
987 SectionGetFlags ${secClient} $0
988 IntOp $0 $0 | ${SF_SELECTED}
989 SectionSetFlags ${secClient} $0
990 ;# !insertmacro SelectSection ${secClient}
993 StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
994 SectionGetFlags ${secClient} $0
995 IntOp $0 $0 | ${SECTION_OFF}
996 SectionSetFlags ${secClient} $0
999 SectionGetFlags ${secClient} $0
1000 IntOp $0 $0 | ${SF_SELECTED}
1001 SectionSetFlags ${secClient} $0
1002 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1009 Call IsServerInstalled
1011 StrCmp $R2 "0" NoServer
1013 SectionGetFlags ${secServer} $0
1014 IntOp $0 $0 & ${SF_SELECTED}
1015 SectionSetFlags ${secServer} $0
1016 ;# !insertmacro UnselectSection ${secServer}
1020 SectionGetFlags ${secServer} $0
1021 IntOp $0 $0 & ${SECTION_OFF}
1022 SectionSetFlags ${secServer} $0
1023 ;# !insertmacro UnselectSection ${secServer}
1026 SectionGetFlags ${secControl} $0
1027 IntOp $0 $0 & ${SECTION_OFF}
1028 SectionSetFlags ${secControl} $0
1029 ;# !insertmacro UnselectSection ${secControl}
1031 SectionGetFlags ${secDocs} $0
1032 IntOp $0 $0 | ${SF_SELECTED}
1033 SectionSetFlags ${secDocs} $0
1034 ;# !insertmacro UnselectSection ${secDocs}
1041 File /oname=$0 CellServPage.ini
1043 File /oname=$1 AFSCell.ini
1044 ;File /oname=$1 ConfigURL.ini
1052 ;--------------------------------
1053 ; These are our cleanup functions
1054 Function .onInstFailed
1059 Function .onInstSuccess
1065 ;--------------------------------
1068 !insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN
1069 !insertmacro MUI_DESCRIPTION_TEXT ${SecServer} $(DESC_SecServer)
1070 !insertmacro MUI_DESCRIPTION_TEXT ${SecClient} $(DESC_SecClient)
1071 !insertmacro MUI_DESCRIPTION_TEXT ${SecControl} $(DESC_SecControl)
1072 !insertmacro MUI_DESCRIPTION_TEXT ${SecDocs} $(DESC_SecDocs)
1073 !insertmacro MUI_FUNCTIONS_DESCRIPTION_END
1075 ;--------------------------------
1076 ;Uninstaller Section
1080 SetShellVarContext all
1081 ; Stop the running processes
1083 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1084 nsExec::Exec '$R0 afscreds.exe'
1085 nsExec::Exec '$R0 krbcc32s.exe'
1087 ; Delete the AFS service
1089 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1090 nsExec::Exec "net stop TransarcAFSDaemon"
1091 nsExec::Exec "net stop TransarcAFSServer"
1092 nsExec::Exec '$R0 u TransarcAFSDaemon'
1093 nsExec::Exec '$R0 u TransarcAFSServer'
1096 Push "$INSTDIR\Client\Program"
1097 Call un.RemoveFromPath
1098 Push "$INSTDIR\Common"
1099 Call un.RemoveFromPath
1100 Push "$INSTDIR\kfw\bin"
1101 Call un.RemoveFromPath
1103 ; Delete documentation
1104 Delete "$INSTDIR\Documentation\README.TXT"
1105 Delete "$INSTDIR\Documentation\html\*"
1106 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1107 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1108 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1109 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1111 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1112 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1113 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1114 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1115 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1116 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1117 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1118 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1119 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1120 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1121 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1122 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1123 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1124 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1125 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1128 Delete /REBOOTOK "$INSTDIR\Common\msvcr71d.dll"
1129 Delete /REBOOTOK "$INSTDIR\Common\msvcr71d.pdb"
1131 Delete /REBOOTOK "$INSTDIR\Common\msvcrtd.dll"
1132 Delete /REBOOTOK "$INSTDIR\Common\msvcrtd.pdb"
1136 Delete /REBOOTOK "$INSTDIR\Common\msvcr71.dll"
1138 Delete /REBOOTOK "$INSTDIR\Common\msvcrt.dll"
1144 StrCmp $R1 "/S" SkipAsk
1145 ; IfFileExists "$WINDIR\afsdcell.ini" CellExists SkipDelAsk
1147 MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel
1149 Delete "$WINDIR\afsdcell.ini"
1151 Delete "$WINDIR\afsdsbmt.ini"
1152 Delete "$WINDIR\krb5.ini"
1153 Delete "$WINDIR\afsdns.ini"
1154 Delete "$WINDIR\afs_freelance.ini"
1157 Delete "$WINDIR\afsd_init.log"
1158 Delete "$INSTDIR\Uninstall.exe"
1161 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1162 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1163 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1164 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1165 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1166 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1167 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1168 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1169 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1170 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1171 Delete "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1172 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1173 Delete "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1174 Delete "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1175 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1176 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1177 Delete "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1178 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1179 RmDir /r "$INSTDIR\Server\usr\afs\etc"
1180 RmDir /r "$INSTDIR\Server\usr\afs\local"
1181 RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1183 Delete /REBOOTOK "$WINDIR\afsserver.cpl"
1184 Delete /REBOOTOK "$WINDIR\afs_cpa.cpl"
1186 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1187 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1188 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1189 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1190 RMDIr /r "$INSTDIR\Documentation\html"
1192 RMDir "$INSTDIR\Documentation"
1193 ; Delete DOC short cut
1194 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1195 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1196 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1197 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1198 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1199 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1200 RMDir "$INSTDIR\Client\Program\Sample"
1201 RMDir "$INSTDIR\Client\Program\Include\afs"
1202 RMDir "$INSTDIR\Client\Program\Include\rx"
1203 RMDir "$INSTDIR\Client\Program\Include"
1204 RMDir "$INSTDIR\Client\Program"
1205 RMDir "$INSTDIR\Client"
1209 Delete /REBOOTOK "$INSTDIR\Common\msvcr71d.dll"
1210 Delete /REBOOTOK "$INSTDIR\Common\msvcr71d.pdb"
1212 Delete /REBOOTOK "$INSTDIR\Common\msvcrtd.dll"
1213 Delete /REBOOTOK "$INSTDIR\Common\msvcrtd.pdb"
1217 Delete /REBOOTOK "$INSTDIR\Common\msvcr71.dll"
1219 Delete /REBOOTOK "$INSTDIR\Common\msvcrt.dll"
1222 Delete /REBOOTOK "$INSTDIR\Common\*"
1223 RMDir "$INSTDIR\Common"
1226 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1227 RMDIR /r "$INSTDIR\kfw\bin"
1228 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1229 RMDIR /r "$INSTDIR\kfw\doc"
1230 RMDIR /r "$INSTDIR\kfw"
1232 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1234 ; Remove control center
1235 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1236 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1237 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1238 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1239 RMDir "$INSTDIR\Control Center"
1241 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1242 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1243 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1244 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1245 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1246 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1247 RMDir /r "$SMPROGRAMS\OpenAFS"
1248 Delete "$SMSTARTUP\AFS Credentials.lnk"
1250 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1252 Delete "$R0\AFSCache"
1253 Delete "C:\AFSCache"
1255 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1256 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1257 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1258 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1259 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1261 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1262 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1263 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1264 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1265 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1266 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1267 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1268 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1269 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1270 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1271 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1275 ;Display the Finish header
1276 !insertmacro MUI_UNFINISHHEADER
1280 ;--------------------------------
1281 ;Uninstaller Functions
1285 ;Get language from registry
1286 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1290 Function un.onUninstSuccess
1292 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
1296 ;------------------------------
1297 ; Get the CellServDB file from the Internet
1299 Function afs.GetCellServDB
1301 ;Check if we should download CellServDB
1302 ;ReadINIStr $R0 $0 "Field 4" "State"
1303 ;StrCmp $R0 "0" CheckIncl
1305 ReadINIStr $R0 $0 "Field 5" "State"
1306 NSISdl::download $R0 "$WINDIR\afsdcell.ini"
1307 Pop $R0 ;Get the return value
1308 StrCmp $R0 "success" +2
1309 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
1312 ReadINIStr $R0 $0 "Field 3" "State"
1313 StrCmp $R0 "0" CheckOther
1314 SetOutPath "$WINDIR"
1319 ReadINIStr $R0 $0 "Field 7" "State"
1320 CopyFiles $R0 "$WINDIR\afsdcell.ini"
1328 ;-------------------------------
1329 ;Do the page to get the CellServDB
1331 Function AFSPageGetCellServDB
1332 ; Set the install options here
1335 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
1336 WriteINIStr $0 "Field 3" "State" "1"
1338 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
1339 InstallOptions::dialog $0
1341 StrCmp $R1 "cancel" exit
1342 StrCmp $R1 "back" done
1343 StrCmp $R1 "success" done
1347 ; Check that if a file is set, a filename is entered...
1348 ReadINIStr $R0 $0 "Field 6" "State"
1349 StrCmp $R0 "1" CheckFileName Skip
1351 ReadINIStr $R0 $0 "Field 7" "State"
1352 IfFileExists $R0 Skip
1354 MessageBox MB_OK|MB_ICONSTOP $(CellError)
1355 WriteINIStr $0 "Field 6" "State" "0"
1363 Function AFSPageGetCellName
1366 StrCmp $R1 "/S" exit
1367 !insertmacro MUI_HEADER_TEXT "Cell Name Configuration" "Please enter the name for your default cell:"
1368 InstallOptions::dialog $1
1370 StrCmp $R1 "cancel" exit
1371 StrCmp $R1 "back" done
1372 StrCmp $R1 "success" done
1378 ; Common install routines for each module
1379 Function AFSCommon.Install
1381 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
1382 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
1383 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${MUI_VERSION}"
1384 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
1389 ; Check if install should be silent
1397 StrCmp $0 "/S" silent
1398 StrCmp $0 "/S " silent
1407 ; Check if uninstall should be silent
1408 Function un.IsSilent
1415 StrCmp $0 "/S" silent
1416 StrCmp $0 "/S " silent
1427 Exch $R1 ; st=haystack,old$R1, $R1=needle
1428 Exch ; st=old$R1,haystack
1429 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
1441 StrCpy $R5 $R2 $R3 $R4
1447 StrCpy $R1 $R2 "" $R4
1455 ;-------------------
1456 ; Get the currently installed version and place it on the stack
1458 Function GetInstalledVersion
1463 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
1464 StrCmp $R0 "" NotTransarc
1468 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
1478 ;-------------------------------
1479 ; Check if the client should be checked for default install
1480 Function ShouldClientInstall
1483 Call GetInstalledVersion
1486 StrCmp $R0 "" NotInstalled
1499 ; See if AFS Client is installed
1500 Function IsServerInstalled
1502 StrCpy $R2 "AFS Server"
1503 Call GetInstalledVersion
1506 StrCmp $R0 "" NotInstalled
1519 ; See if AFS Server is installed
1520 Function IsClientInstalled
1522 StrCpy $R2 "AFS Client"
1523 Call GetInstalledVersion
1526 StrCmp $R0 "" NotInstalled
1540 ; See if AFS Documentation is installed
1541 Function IsDocumentationInstalled
1543 StrCpy $R2 "AFS Supplemental Documentation"
1544 Call GetInstalledVersion
1547 StrCmp $R0 "" NotInstalled
1560 ; See if COntrol Center is installed
1561 Function IsControlInstalled
1563 StrCpy $R2 "Control_Center"
1564 Call GetInstalledVersion
1567 StrCmp $R0 "" NotInstalled
1582 ; output, top of stack (replaces, with e.g. whatever)
1583 ; modifies no other variables.
1585 Function GetParameters
1589 StrCpy $R0 $CMDLINE 1
1593 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
1595 StrCpy $R0 $CMDLINE 1 $R2
1596 StrCmp $R0 $R1 loop2
1602 StrCpy $R0 $CMDLINE 1 $R2
1603 StrCmp $R0 " " loop2
1604 StrCpy $R0 $CMDLINE "" $R2
1611 ;Check to see if any AFS component is installed
1612 Function IsAnyAFSInstalled
1617 ;Install English Language Files
1618 Function AFSLangFiles
1620 SetOutPath "$INSTDIR\Common"
1621 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
1622 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll"
1623 File "${AFS_SERVER_BUILDDIR}\afsadminutil.dll"
1624 File "${AFS_DESTDIR}\lib\afsauthent.dll"
1625 File "${AFS_DESTDIR}\lib\afspthread.dll"
1626 File "${AFS_DESTDIR}\lib\afsrpc.dll"
1627 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll"
1628 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll"
1629 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
1630 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll"
1631 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
1632 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
1633 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
1634 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
1635 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
1638 File "${AFS_WININSTALL_DIR}\msvcr71d.dll"
1639 File "${AFS_WININSTALL_DIR}\msvcr71d.pdb"
1641 File "${AFS_WININSTALL_DIR}\msvcrtd.dll"
1642 File "${AFS_WININSTALL_DIR}\msvcrtd.pdb"
1646 File "${AFS_WININSTALL_DIR}\msvcr71.dll"
1648 File "${AFS_WININSTALL_DIR}\msvcrt.dll"
1653 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
1654 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
1655 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
1656 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
1657 File "${AFS_DESTDIR}\lib\afspthread.pdb"
1658 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
1659 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
1660 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
1661 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1662 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
1663 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
1664 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
1665 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
1666 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
1667 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
1670 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
1671 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
1672 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
1673 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
1674 ;StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
1675 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
1676 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
1677 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
1681 SetOutPath "$INSTDIR\Documentation"
1682 File "..\..\doc\install\Documentation\en_US\README.TXT"
1684 SetOutPath "$INSTDIR\Common"
1685 File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll"
1686 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll"
1687 File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll"
1688 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll"
1689 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll"
1690 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll"
1691 File "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll"
1692 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll"
1693 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll"
1694 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll"
1695 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll"
1696 File "..\..\doc\help\en_US\afs-cc.CNT"
1697 File "..\..\doc\help\en_US\afs-cc.hlp"
1698 File "..\..\doc\help\en_US\afs-light.CNT"
1699 File "..\..\doc\help\en_US\afs-light.hlp"
1700 File "..\..\doc\help\en_US\afs-nt.CNT"
1701 File "..\..\doc\help\en_US\afs-nt.HLP"
1702 File "..\..\doc\help\en_US\taafscfg.CNT"
1703 File "..\..\doc\help\en_US\taafscfg.hlp"
1704 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
1705 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
1706 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
1707 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
1712 SetOutPath "$INSTDIR\Documentation"
1713 File "..\..\doc\install\Documentation\de_DE\README.TXT"
1715 SetOutPath "$INSTDIR\Common"
1716 File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll"
1717 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll"
1718 File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll"
1719 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll"
1720 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll"
1721 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll"
1722 File "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll"
1723 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll"
1724 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll"
1725 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll"
1726 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll"
1727 File "..\..\doc\help\de_DE\afs-cc.CNT"
1728 File "..\..\doc\help\de_DE\afs-cc.hlp"
1729 File "..\..\doc\help\de_DE\afs-light.CNT"
1730 File "..\..\doc\help\de_DE\afs-light.hlp"
1731 File "..\..\doc\help\de_DE\afs-nt.CNT"
1732 File "..\..\doc\help\de_DE\afs-nt.HLP"
1733 File "..\..\doc\help\de_DE\taafscfg.CNT"
1734 File "..\..\doc\help\de_DE\taafscfg.hlp"
1735 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
1736 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
1737 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
1738 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
1741 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
1742 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
1743 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
1744 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
1745 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
1746 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
1747 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
1748 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
1749 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
1750 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
1752 File "${AFS_WININSTALL_DIR}\msvcr71d.dll"
1753 File "${AFS_WININSTALL_DIR}\msvcr71d.pdb"
1755 File "${AFS_WININSTALL_DIR}\msvcrtd.dll"
1756 File "${AFS_WININSTALL_DIR}\msvcrtd.pdb"
1763 SetOutPath "$INSTDIR\Documentation"
1764 File "..\..\doc\install\Documentation\es_ES\README.TXT"
1766 SetOutPath "$INSTDIR\Common"
1767 File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll"
1768 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll"
1769 File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll"
1770 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll"
1771 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll"
1772 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll"
1773 File "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll"
1774 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll"
1775 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll"
1776 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll"
1777 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll"
1778 File "..\..\doc\help\es_ES\afs-cc.CNT"
1779 File "..\..\doc\help\es_ES\afs-cc.hlp"
1780 File "..\..\doc\help\es_ES\afs-light.CNT"
1781 File "..\..\doc\help\es_ES\afs-light.hlp"
1782 File "..\..\doc\help\es_ES\afs-nt.CNT"
1783 File "..\..\doc\help\es_ES\afs-nt.HLP"
1784 File "..\..\doc\help\es_ES\taafscfg.CNT"
1785 File "..\..\doc\help\es_ES\taafscfg.hlp"
1786 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
1787 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
1788 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
1789 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
1794 SetOutPath "$INSTDIR\Documentation"
1795 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
1797 SetOutPath "$INSTDIR\Common"
1798 File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll"
1799 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll"
1800 File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll"
1801 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll"
1802 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll"
1803 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll"
1804 File "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll"
1805 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll"
1806 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll"
1807 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll"
1808 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll"
1809 File "..\..\doc\help\ja_JP\afs-cc.CNT"
1810 File "..\..\doc\help\ja_JP\afs-cc.hlp"
1811 File "..\..\doc\help\ja_JP\afs-light.CNT"
1812 File "..\..\doc\help\ja_JP\afs-light.hlp"
1813 File "..\..\doc\help\ja_JP\afs-nt.CNT"
1814 File "..\..\doc\help\ja_JP\afs-nt.HLP"
1815 File "..\..\doc\help\ja_JP\taafscfg.CNT"
1816 File "..\..\doc\help\ja_JP\taafscfg.hlp"
1817 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
1818 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
1819 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
1820 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
1825 SetOutPath "$INSTDIR\Documentation"
1826 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
1828 SetOutPath "$INSTDIR\Common"
1829 File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll"
1830 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll"
1831 File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll"
1832 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll"
1833 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll"
1834 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll"
1835 File "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll"
1836 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll"
1837 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll"
1838 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll"
1839 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll"
1840 File "..\..\doc\help\ko_KR\afs-cc.CNT"
1841 File "..\..\doc\help\ko_KR\afs-cc.hlp"
1842 File "..\..\doc\help\ko_KR\afs-light.CNT"
1843 File "..\..\doc\help\ko_KR\afs-light.hlp"
1844 File "..\..\doc\help\ko_KR\afs-nt.CNT"
1845 File "..\..\doc\help\ko_KR\afs-nt.HLP"
1846 File "..\..\doc\help\ko_KR\taafscfg.CNT"
1847 File "..\..\doc\help\ko_KR\taafscfg.hlp"
1848 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
1849 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
1850 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
1851 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
1857 SetOutPath "$INSTDIR\Documentation"
1858 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
1860 SetOutPath "$INSTDIR\Common"
1861 File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll"
1862 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll"
1863 File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll"
1864 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll"
1865 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll"
1866 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll"
1867 File "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll"
1868 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll"
1869 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll"
1870 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll"
1871 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll"
1872 File "..\..\doc\help\pt_BR\afs-cc.CNT"
1873 File "..\..\doc\help\pt_BR\afs-cc.hlp"
1874 File "..\..\doc\help\pt_BR\afs-light.CNT"
1875 File "..\..\doc\help\pt_BR\afs-light.hlp"
1876 File "..\..\doc\help\pt_BR\afs-nt.CNT"
1877 File "..\..\doc\help\pt_BR\afs-nt.HLP"
1878 File "..\..\doc\help\pt_BR\taafscfg.CNT"
1879 File "..\..\doc\help\pt_BR\taafscfg.hlp"
1880 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
1881 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
1882 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
1883 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
1888 SetOutPath "$INSTDIR\Documentation"
1889 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
1891 SetOutPath "$INSTDIR\Common"
1892 File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll"
1893 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll"
1894 File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll"
1895 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll"
1896 File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll"
1897 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll"
1898 File "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll"
1899 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll"
1900 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll"
1901 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll"
1902 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll"
1903 File "..\..\doc\help\zh_CN\afs-cc.CNT"
1904 File "..\..\doc\help\zh_CN\afs-cc.hlp"
1905 File "..\..\doc\help\zh_CN\afs-light.CNT"
1906 File "..\..\doc\help\zh_CN\afs-light.hlp"
1907 File "..\..\doc\help\zh_CN\afs-nt.CNT"
1908 File "..\..\doc\help\zh_CN\afs-nt.HLP"
1909 File "..\..\doc\help\zh_CN\taafscfg.CNT"
1910 File "..\..\doc\help\zh_CN\taafscfg.hlp"
1911 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
1912 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
1913 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
1914 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
1919 SetOutPath "$INSTDIR\Documentation"
1920 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
1922 SetOutPath "$INSTDIR\Common"
1923 File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll"
1924 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll"
1925 File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll"
1926 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll"
1927 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll"
1928 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll"
1929 File "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll"
1930 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll"
1931 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll"
1932 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll"
1933 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll"
1934 File "..\..\doc\help\zh_TW\afs-cc.CNT"
1935 File "..\..\doc\help\zh_TW\afs-cc.hlp"
1936 File "..\..\doc\help\zh_TW\afs-light.CNT"
1937 File "..\..\doc\help\zh_TW\afs-light.hlp"
1938 File "..\..\doc\help\zh_TW\afs-nt.CNT"
1939 File "..\..\doc\help\zh_TW\afs-nt.HLP"
1940 File "..\..\doc\help\zh_TW\taafscfg.CNT"
1941 File "..\..\doc\help\zh_TW\taafscfg.hlp"
1942 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
1943 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
1944 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
1945 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
1953 ;====================================================
1954 ; AddToPath - Adds the given dir to the search path.
1955 ; Input - head of the stack
1956 ; Note - Win9x systems requires reboot
1957 ;====================================================
1964 StrCmp $1 1 AddToPath_NT
1967 FileOpen $1 "$1\autoexec.bat" a
1969 GetFullPathName /SHORT $0 $0
1970 FileWrite $1 "$\r$\nSET PATH=%PATH%;$0$\r$\n"
1975 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
1976 StrCmp $1 "" AddToPath_NTdoIt
1978 Goto AddToPath_NTdoIt
1980 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
1981 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
1988 ;====================================================
1989 ; RemoveFromPath - Remove a given dir from the path
1990 ; Input: head of the stack
1991 ;====================================================
1992 Function un.RemoveFromPath
2001 StrCmp $1 1 unRemoveFromPath_NT
2004 FileOpen $1 "$1\autoexec.bat" r
2007 GetFullPathName /SHORT $0 $0
2008 StrCpy $0 "SET PATH=%PATH%;$0"
2010 Goto unRemoveFromPath_dosLoop
2012 unRemoveFromPath_dosLoop:
2014 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoop
2015 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoop
2016 StrCmp $3 "$0" unRemoveFromPath_dosLoop
2017 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
2019 Goto unRemoveFromPath_dosLoop
2021 unRemoveFromPath_dosLoopEnd:
2025 Delete "$1\autoexec.bat"
2026 CopyFiles /SILENT $4 "$1\autoexec.bat"
2028 Goto unRemoveFromPath_done
2030 unRemoveFromPath_NT:
2032 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2035 Call un.StrStr ; Find $0 in $1
2036 Pop $0 ; pos of our dir
2037 IntCmp $0 -1 unRemoveFromPath_done
2038 ; else, it is in path
2039 StrCpy $3 $1 $0 ; $3 now has the part of the path before our dir
2040 IntOp $2 $2 + $0 ; $2 now contains the pos after our dir in the path (';')
2041 IntOp $2 $2 + 1 ; $2 now containts the pos after our dir and the semicolon.
2046 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
2047 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
2049 unRemoveFromPath_done:
2057 ;====================================================
2058 ; IsNT - Returns 1 if the current system is NT, 0
2060 ; Output: head of the stack
2061 ;====================================================
2064 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
2065 StrCmp $0 "" 0 IsNT_yes
2077 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2079 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2082 ;====================================================
2083 ; StrStr - Finds a given string in another given string.
2084 ; Returns -1 if not found and the pos if found.
2085 ; Input: head of the stack - string to find
2086 ; second in the stack - string to find in
2087 ; Output: head of the stack
2088 ;====================================================
2092 Pop $0 ; $0 now have the string to find
2095 Pop $1 ; $1 now have the string to find in
2109 IntCmp $2 $4 0 0 unStrStrReturn_notFound
2111 StrCmp $5 $0 unStrStr_done unStrStr_loop
2113 unStrStrReturn_notFound:
2126 ;====================================================
2127 ; IsNT - Returns 1 if the current system is NT, 0
2129 ; Output: head of the stack
2130 ;====================================================
2133 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
2134 StrCmp $0 "" 0 unIsNT_yes
2148 ; Increments a shared DLLs reference count.
2149 ; Use by passing one item on the stack (the full path of the DLL).
2152 ; Push $SYSDIR\myDll.dll
2156 Function AddSharedDLL
2159 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
2161 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
2167 ; un.RemoveSharedDLL
2169 ; Decrements a shared DLLs reference count, and removes if necessary.
2170 ; Use by passing one item on the stack (the full path of the DLL).
2171 ; Note: for use in the main installer (not the uninstaller), rename the
2172 ; function to RemoveSharedDLL.
2175 ; Push $SYSDIR\myDll.dll
2176 ; Call un.RemoveSharedDLL
2179 Function un.RemoveSharedDLL
2182 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
2183 StrCmp $R0 "" remove
2185 IntCmp $R0 0 rk rk uk
2187 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
2190 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
2193 Delete /REBOOTOK $R1
2199 Function afs.InstallMSLoopback
2200 ;GetTempFileName $R0
2201 ;File /oname=$R0 "loopback_install.dll"
2202 ;nsExec::Exec "rundll32.exe $R0 doLoopBackEntry quiet"
2203 ;Call GetWindowsVersion
2205 ;StrCmp $R1 "2000" +1 +2
2206 ;nsExec::Exec "rundll32.exe $R0 disableLoopBackEntry"
2214 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
2215 ; Updated by Joost Verburg
2217 ; Returns on top of stack
2219 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
2221 ; '' (Unknown Windows Version)
2224 ; Call GetWindowsVersion
2226 ; ; at this point $R0 is "NT 4.0" or whatnot
2228 Function GetWindowsVersion
2235 ReadRegStr $R0 HKLM \
2236 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
2238 IfErrors 0 lbl_winnt
2241 ReadRegStr $R0 HKLM \
2242 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
2245 StrCmp $R1 '4' 0 lbl_error
2249 StrCmp $R1 '4.0' lbl_win32_95
2250 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
2268 StrCmp $R1 '3' lbl_winnt_x
2269 StrCmp $R1 '4' lbl_winnt_x
2273 StrCmp $R1 '5.0' lbl_winnt_2000
2274 StrCmp $R1 '5.1' lbl_winnt_XP
2275 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
2278 StrCpy $R0 "NT $R0" 6
2303 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
2304 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
2305 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
2306 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
2310 ; Pop $R0 ; at this point $R0 is "true" or "false"
2312 Function IsUserAdmin
2321 UserInfo::GetAccountType
2324 StrCmp $R2 "Admin" 0 Continue
2325 ; Observation: I get here when running Win98SE. (Lilla)
2326 ; The functions UserInfo.dll looks for are there on Win98 too,
2327 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
2328 ; on Win98, returns admin anyway. (per kichik)
2329 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
2334 ; You should still check for an empty string because the functions
2335 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
2338 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
2342 ; comment/message below is by UserInfo.nsi author:
2343 ; This one means you don't need to care about admin or
2344 ; not admin because Windows 9x doesn't either
2345 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
2349 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'