winnt-nsis-installer-20030825
authorRobert S. Murawski <rsm4@cssd.pitt.edu>
Mon, 25 Aug 2003 21:36:40 +0000 (21:36 +0000)
committerDerrick Brashear <shadow@dementia.org>
Mon, 25 Aug 2003 21:36:40 +0000 (21:36 +0000)
include NSIS installer files

src/WINNT/install/NSIS/CellServPage.ini [new file with mode: 0644]
src/WINNT/install/NSIS/NTMakefile [new file with mode: 0644]
src/WINNT/install/NSIS/OpenAFS.nsi [new file with mode: 0644]
src/WINNT/install/NSIS/Service.cpp [new file with mode: 0644]
src/WINNT/install/NSIS/afsdcell.ini [new file with mode: 0644]

diff --git a/src/WINNT/install/NSIS/CellServPage.ini b/src/WINNT/install/NSIS/CellServPage.ini
new file mode 100644 (file)
index 0000000..b559df7
--- /dev/null
@@ -0,0 +1,59 @@
+[Settings]\r
+NumFields=7\r
+\r
+[Field 1]\r
+Type=label\r
+Text=The AFS Client requires a CellServDB file in order to contact AFS file servers.  Where do you want to get the CellServDB File?\r
+Left=0\r
+Right=-1\r
+Top=0\r
+Bottom=20\r
+\r
+[Field 2]\r
+Type=RadioButton\r
+Text=Use existing CellServDB from a previous installation.\r
+Left=10\r
+Right=-1\r
+Top=25\r
+Bottom=35\r
+\r
+[Field 3]\r
+Type=RadioButton\r
+Text=Use packaged CellServDB file.\r
+Left=10\r
+Right=-1\r
+Top=40\r
+Bottom=50\r
+\r
+[Field 4]\r
+type=RadioButton\r
+Text=Download from web address:\r
+State=0\r
+Left=10\r
+Right=-1\r
+Top=55\r
+Bottom=65\r
+\r
+[Field 5]\r
+type=Text\r
+State=http://grand.central.org/dl/cellservdb/CellServDB\r
+Left=20\r
+Right=-1\r
+Top=70\r
+Bottom=80\r
+\r
+[Field 6]\r
+type=radioButton\r
+text=Select a file\r
+Left=10\r
+Right=-1\r
+Top=85\r
+Bottom=95\r
+\r
+[Field 7]\r
+type=FileRequest\r
+Flags=FILE_MUST_EXIST\r
+Left=20\r
+Right=-40\r
+Top=100\r
+Bottom=110\r
diff --git a/src/WINNT/install/NSIS/NTMakefile b/src/WINNT/install/NSIS/NTMakefile
new file mode 100644 (file)
index 0000000..0990816
--- /dev/null
@@ -0,0 +1,18 @@
+!INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
+!INCLUDE ..\..\..\config\NTMakefile.version
+
+EXEDIR = $(DESTDIR)\WinInstall\Config
+
+$(OJT)\Service.obj: Service.cpp
+          $(C2OBJ) Service.cpp
+
+$(EXEDIR)\Service.exe: $(OJT)\Service.obj
+      $(EXECONLINK) $(OJT)\Service.obj
+
+
+build:
+   "C:\Program Files\NSIS\makensis.exe" OpenAFS.nsi
+   copy OpenAFSforWindows.exe $(DESTDIR)\Wininstall\
+
+install: $(OJT)\Service.obj $(EXEDIR)\Service.exe build
+
diff --git a/src/WINNT/install/NSIS/OpenAFS.nsi b/src/WINNT/install/NSIS/OpenAFS.nsi
new file mode 100644 (file)
index 0000000..1433033
--- /dev/null
@@ -0,0 +1,1117 @@
+;OpenAFS Install Script for NSIS
+;
+; Written by Rob Murawski <rsm4@ieee.org>
+;
+;Based on:
+;NSIS Modern User Interface version 1.63
+;MultiLanguage Example Script
+;Written by Joost Verburg
+
+!define MUI_PRODUCT "OpenAFS for Windows" ;Define your own software name here
+!define MUI_VERSION "1.2.11" ;Define your own software version here
+!define MUI_MAJORVERSION 1
+!define MUI_MINORVERSION 2
+!define MUI_PATCHLEVEL 110
+
+
+!include "MUI.nsh"
+!include Sections.nsh
+
+;--------------------------------
+;Configuration
+
+  ;General
+  OutFile "OpenAFSforWindows.exe"
+  SilentInstall normal
+  !define MUI_ICON "..\..\client_cpa\afs_conf.ico"
+  !define MUI_UNICON "c:\Program Files\NSIS\Contrib\Icons\normal-uninstall.ico"
+  !define AFS_COMPANY_NAME "OpenAFS"
+  !define AFS_PRODUCT_NAME "OpenAFS"
+  !define AFS_REGKEY_ROOT "Software\OpenAFS"
+  CRCCheck force
+
+  ;Folder selection page
+  InstallDir "$PROGRAMFILES\OpenAFS\AFS"
+  
+  ;Remember install folder
+  InstallDirRegKey HKCU "Software\OpenAFS\AFS" ""
+  
+  ;Remember the installer language
+  !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" 
+  !define MUI_LANGDLL_REGISTRY_KEY "Software\OpenAFS" 
+  !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
+  
+  ;Where are the files?
+  !define AFS_DESTDIR "..\..\..\..\obj\DEST\free"
+  !define AFS_CLIENT_BUILDDIR "${AFS_DESTDIR}\root.client\usr\vice\etc"
+  !define AFS_WININSTALL_DIR "${AFS_DESTDIR}\WinInstall\Config"
+  !define AFS_BUILD_INCDIR "${AFS_DESTDIR}\include"
+  !define AFS_CLIENT_LIBDIR "${AFS_DESTDIR}\lib"
+  !define AFS_SERVER_BUILDDIR "${AFS_DESTDIR}\root.server\usr\afs\bin"
+  !define SDK_DIR "X:"
+  
+;--------------------------------
+;Modern UI Configuration
+
+  !define MUI_CUSTOMPAGECOMMANDS
+  !define MUI_WELCOMEPAGE
+  !define MUI_COMPONENTSPAGE
+  !define MUI_COMPONENTSPAGE_SMALLDESC
+  !define MUI_DIRECTORYPAGE
+
+  !define MUI_ABORTWARNING
+  !define MUI_FINISHPAGE
+  
+  !define MUI_UNINSTALLER
+  !define MUI_UNCONFIRMPAGE
+
+  
+  !insertmacro MUI_PAGECOMMAND_WELCOME
+  !insertmacro MUI_PAGECOMMAND_COMPONENTS
+  !insertmacro MUI_PAGECOMMAND_DIRECTORY
+  Page custom AFSPageGetCellServDB
+  !insertmacro MUI_PAGECOMMAND_INSTFILES
+  !insertmacro MUI_PAGECOMMAND_FINISH
+  
+;--------------------------------
+;Languages
+
+  !insertmacro MUI_LANGUAGE "English"
+  ;!insertmacro MUI_LANGUAGE "French"
+  !insertmacro MUI_LANGUAGE "German"
+  !insertmacro MUI_LANGUAGE "Spanish"
+  !insertmacro MUI_LANGUAGE "SimpChinese"
+  !insertmacro MUI_LANGUAGE "TradChinese"    
+  !insertmacro MUI_LANGUAGE "Japanese"
+  ;!insertmacro MUI_LANGUAGE "Korean"
+  ;!insertmacro MUI_LANGUAGE "Italian"
+  ;!insertmacro MUI_LANGUAGE "Dutch"
+  ;!insertmacro MUI_LANGUAGE "Danish"
+  ;!insertmacro MUI_LANGUAGE "Greek"
+  ;!insertmacro MUI_LANGUAGE "Russian"
+  !insertmacro MUI_LANGUAGE "PortugueseBR"
+  ;!insertmacro MUI_LANGUAGE "Polish"
+  ;!insertmacro MUI_LANGUAGE "Ukrainian"
+  ;!insertmacro MUI_LANGUAGE "Czech"
+  ;!insertmacro MUI_LANGUAGE "Slovak"
+  ;!insertmacro MUI_LANGUAGE "Croatian"
+  ;!insertmacro MUI_LANGUAGE "Bulgarian"
+  ;!insertmacro MUI_LANGUAGE "Hungarian"
+  ;!insertmacro MUI_LANGUAGE "Thai"
+  ;!insertmacro MUI_LANGUAGE "Romanian"
+  ;!insertmacro MUI_LANGUAGE "Macedonian"
+  ;!insertmacro MUI_LANGUAGE "Turkish"
+  
+;--------------------------------
+;Language Strings
+    
+  ;Descriptions
+  LangString DESC_SecCopyUI ${LANG_ENGLISH} "OpenAFS for Windows: English"
+  ;LangString DESC_SecCopyUI ${LANG_FRENCH} "OpenAFS for Windows: French"
+  LangString DESC_SecCopyUI ${LANG_GERMAN} "OpenAFS for Windows: German"
+  LangString DESC_SecCopyUI ${LANG_SPANISH} "OpenAFS for Windows: Spanish"
+  LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "OpenAFS for Windows: Simplified Chinese"
+  LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "OpenAFS for Windows: Traditional Chinese description"
+  LangString DESC_SecCopyUI ${LANG_JAPANESE} "OpenAFS for Windows: Japanese description"
+  LangString DESC_SecCopyUI ${LANG_KOREAN} "OpenAFS for Windows: Korean description"
+  ;LangString DESC_SecCopyUI ${LANG_ITALIAN} "OpenAFS for Windows: Italian description"
+  ;LangString DESC_SecCopyUI ${LANG_DUTCH} "OpenAFS for Windows: Dutch description"
+  ;LangString DESC_SecCopyUI ${LANG_DANISH} "OpenAFS for Windows: Danish description"
+  ;LangString DESC_SecCopyUI ${LANG_GREEK} "OpenAFS for Windows: Greek description"
+  ;LangString DESC_SecCopyUI ${LANG_RUSSIAN} "OpenAFS for Windows: Russian description"
+  LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "OpenAFS for Windows: Portuguese (Brasil) description"
+  ;LangString DESC_SecCopyUI ${LANG_POLISH} "OpenAFS for Windows: Polish description"
+  ;LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "OpenAFS for Windows: Ukrainian description"
+  ;LangString DESC_SecCopyUI ${LANG_CZECH} "OpenAFS for Windows: Czechian description"
+  ;LangString DESC_SecCopyUI ${LANG_SLOVAK} "OpenAFS for Windows: Slovakian description"
+  ;LangString DESC_SecCopyUI ${LANG_CROATIAN} "OpenAFS for Windows: Slovakian description"
+  ;LangString DESC_SecCopyUI ${LANG_BULGARIAN} "OpenAFS for Windows: Bulgarian description"
+  ;LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "OpenAFS for Windows: Hungarian description"
+  ;LangString DESC_SecCopyUI ${LANG_THAI} "OpenAFS for Windows: Thai description"
+  ;LangString DESC_SecCopyUI ${LANG_ROMANIAN} "OpenAFS for Windows: Romanian description"
+  ;LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "OpenAFS for Windows: Macedonian description"
+  ;LangString DESC_SecCopyUI ${LANG_TURKISH} "OpenAFS for Windows: Turkish description"
+
+  LangString DESC_SecClient ${LANG_ENGLISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
+  LangString DESC_SecClient ${LANG_GERMAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
+  LangString DESC_SecClient ${LANG_SPANISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
+  LangString DESC_SecClient ${LANG_SIMPCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
+  LangString DESC_SecClient ${LANG_TRADCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
+  LangString DESC_SecClient ${LANG_JAPANESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
+  LangString DESC_SecClient ${LANG_KOREAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
+  LangString DESC_SecClient ${LANG_PORTUGUESEBR} "OpenAFS Client: Allows you to access AFS from your Windows PC."
+  
+  LangString DESC_SecServer ${LANG_ENGLISH} "OpenAFS Server: Allows you to run an AFS file server."
+  LangString DESC_SecServer ${LANG_GERMAN} "OpenAFS Server: Allows you to run an AFS file server."
+  LangString DESC_SecServer ${LANG_SPANISH} "OpenAFS Server: Allows you to run an AFS file server."
+  LangString DESC_SecServer ${LANG_SIMPCHINESE} "OpenAFS Server: Allows you to run an AFS file server."
+  LangString DESC_SecServer ${LANG_TRADCHINESE} "OpenAFS Server: Allows you to run an AFS file server."
+  LangString DESC_SecServer ${LANG_JAPANESE} "OpenAFS Server: Allows you to run an AFS file server."
+  LangString DESC_SecServer ${LANG_KOREAN} "OpenAFS Server: Allows you to run an AFS file server."
+  LangString DESC_SecServer ${LANG_PORTUGUESEBR} "OpenAFS Server: Allows you to run an AFS file server."
+  
+  LangString DESC_SecControl ${LANG_ENGLISH} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
+  LangString DESC_SecControl ${LANG_GERMAN} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
+  LangString DESC_SecControl ${LANG_SPANISH} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
+  LangString DESC_SecControl ${LANG_SIMPCHINESE} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
+  LangString DESC_SecControl ${LANG_TRADCHINESE} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
+  LangString DESC_SecControl ${LANG_JAPANESE} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
+  LangString DESC_SecControl ${LANG_KOREAN} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
+  LangString DESC_SecControl ${LANG_PORTUGUESEBR} "OpenAFS Control Center: GUI utilities for managing and configuring AFS."
+  
+  LangString DESC_SecDocs ${LANG_ENGLISH} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
+  LangString DESC_SecDocs ${LANG_GERMAN} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
+  LangString DESC_SecDocs ${LANG_SPANISH} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
+  LangString DESC_SecDocs ${LANG_SIMPCHINESE} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
+  LangString DESC_SecDocs ${LANG_TRADCHINESE} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
+  LangString DESC_SecDocs ${LANG_JAPANESE} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
+  LangString DESC_SecDocs ${LANG_KOREAN} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
+  LangString DESC_SecDocs ${LANG_PORTUGUESEBR} "OpenAFS Supplemental Documentation: Additional documentation for using OpenAFS."
+  
+; Popup error messages
+  LangString CellError ${LANG_ENGLISH} "You must specify a valid CellServDB file to copy during install"
+  LangString CellError ${LANG_GERMAN} "You must specify a valid CellServDB file to copy during the install"
+  LangString CellError ${LANG_SPANISH} "You must specify a valid CellServDB file to copy during the install"
+  LangString CellError ${LANG_SIMPCHINESE} "You must specify a valid CellServDB file to copy during the install"
+  LangString CellError ${LANG_TRADCHINESE} "You must specify a valid CellServDB file to copy during the install"
+  LangString CellError ${LANG_JAPANESE} "You must specify a valid CellServDB file to copy during the install"
+  LangString CellError ${LANG_KOREAN} "You must specify a valid CellServDB file to copy during the install"
+  LangString CellError ${LANG_PORTUGUESEBR} "You must specify a valid CellServDB file to copy during the install"
+  
+  
+; Upgrade/re-install strings
+   LangString UPGRADE_CLIENT ${LANG_ENGLISH} "Upgrade AFS Client"
+   
+   
+   LangString REINSTALL_SERVER ${LANG_ENGLISH} "Re-install AFS Server"
+  
+;--------------------------------
+
+;--------------------------------
+;Reserve Files
+  
+  ;Things that need to be extracted on first (keep these lines before any File command!)
+  ;Only useful for BZIP2 compression
+  !insertmacro MUI_RESERVEFILE_LANGDLL
+  
+;--------------------------------
+;Installer Sections
+
+;----------------------
+; OpenAFS CLIENT
+Section "AFS Client" SecClient
+
+   ; Do client components
+  SetOutPath "$INSTDIR\Client\Program"
+  File "${AFS_CLIENT_BUILDDIR}\afsshare.exe"
+  File "${AFS_BUILD_INCDIR}\afs\cm_config.h"
+  File "${AFS_CLIENT_BUILDDIR}\libosi.dll"
+  File "${AFS_BUILD_INCDIR}\afs\kautils.h"
+  File "${AFS_CLIENT_BUILDDIR}\libafsconf.dll"
+  File "${AFS_CLIENT_BUILDDIR}\klog.exe"
+  File "${AFS_CLIENT_BUILDDIR}\tokens.exe"
+  File "${AFS_CLIENT_BUILDDIR}\unlog.exe"
+  File "${AFS_CLIENT_BUILDDIR}\fs.exe"
+  File "${AFS_CLIENT_BUILDDIR}\libafsconf.dll"
+  File "${AFS_CLIENT_LIBDIR}\afsauthent.lib"
+  File "${AFS_CLIENT_BUILDDIR}\afscreds.exe"
+  File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll"
+  File "${AFS_BUILD_INCDIR}\afs\auth.h"
+  File "${AFS_CLIENT_BUILDDIR}\afsd_service.exe"
+  File "${AFS_CLIENT_BUILDDIR}\afslogon.dll"
+  File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
+  File "${AFS_DESTDIR}\bin\kpasswd.exe"
+  File "${AFS_SERVER_BUILDDIR}\pts.exe"
+  File "${AFS_SERVER_BUILDDIR}\bos.exe"
+  File "${AFS_SERVER_BUILDDIR}\kas.exe"
+  File "${AFS_SERVER_BUILDDIR}\vos.exe"
+  File "${AFS_SERVER_BUILDDIR}\udebug.exe"
+  File "${AFS_DESTDIR}\bin\translate_et.exe"
+  File "${AFS_DESTDIR}\etc\rxdebug.exe"
+  File "${AFS_DESTDIR}\etc\backup.exe"
+  
+  
+  ; Client_headers
+   SetOutPath "$INSTDIR\Client\Program\Include"
+   File "${AFS_BUILD_INCDIR}\lock.h"
+   File "${AFS_BUILD_INCDIR}\lwp.h"
+   File "${AFS_BUILD_INCDIR}\preempt.h"
+   File "${AFS_BUILD_INCDIR}\timer.h"
+   File "${AFS_BUILD_INCDIR}\des.h"
+   File "${AFS_BUILD_INCDIR}\des_conf.h"
+   File "${AFS_BUILD_INCDIR}\mit-cpyright.h"
+   ;File "${AFS_BUILD_INCDIR}\des-odd.h"
+   File "${AFS_BUILD_INCDIR}\crypt.h"
+   File "${AFS_BUILD_INCDIR}\pthread.h"
+   File "${AFS_BUILD_INCDIR}\dbrpc.h"
+   File "${AFS_BUILD_INCDIR}\basic.h"
+   File "${AFS_BUILD_INCDIR}\osidebug.h"
+   File "${AFS_BUILD_INCDIR}\osiltype.h"
+   File "${AFS_BUILD_INCDIR}\osistatl.h"
+   File "${AFS_BUILD_INCDIR}\trylock.h"
+   File "${AFS_BUILD_INCDIR}\main.h"
+   File "${AFS_BUILD_INCDIR}\osibasel.h"
+   File "${AFS_BUILD_INCDIR}\osifd.h"
+   File "${AFS_BUILD_INCDIR}\osiqueue.h"
+   File "${AFS_BUILD_INCDIR}\osiutils.h"
+   File "${AFS_BUILD_INCDIR}\osi.h"
+   File "${AFS_BUILD_INCDIR}\osidb.h"
+   File "${AFS_BUILD_INCDIR}\osilog.h"
+   File "${AFS_BUILD_INCDIR}\osisleep.h"
+   File "${AFS_BUILD_INCDIR}\perf.h"
+   File "${AFS_BUILD_INCDIR}\ubik.h"
+   File "${AFS_BUILD_INCDIR}\ubik_int.h"
+   
+   
+   
+   SetOutPath "$INSTDIR\Client\Program\Include\afs"
+   File "${AFS_BUILD_INCDIR}\afs\afs_args.h"
+   File "${AFS_BUILD_INCDIR}\afs\debug.h"
+   File "${AFS_BUILD_INCDIR}\afs\param.h"
+   File "${AFS_BUILD_INCDIR}\afs\afs_sysnames.h"
+   ;File "${AFS_BUILD_INCDIR}\afs\permit_xprt.h"
+   File "${AFS_BUILD_INCDIR}\afs\stds.h"
+   File "${AFS_BUILD_INCDIR}\afs\icl.h"
+   File "${AFS_BUILD_INCDIR}\afs\procmgmt.h"
+   File "${AFS_BUILD_INCDIR}\afs\afsutil.h"
+   File "${AFS_BUILD_INCDIR}\afs\assert.h"
+   File "${AFS_BUILD_INCDIR}\afs\dirent.h"
+   File "${AFS_BUILD_INCDIR}\afs\errors.h"
+   File "${AFS_BUILD_INCDIR}\afs\itc.h"
+   File "${AFS_BUILD_INCDIR}\afs\vice.h"
+   File "${AFS_BUILD_INCDIR}\afs\pthread_glock.h"
+   File "${AFS_BUILD_INCDIR}\afs\errmap_nt.h"
+   File "${AFS_BUILD_INCDIR}\afs\dirpath.h"
+   File "${AFS_BUILD_INCDIR}\afs\ktime.h"
+   File "${AFS_BUILD_INCDIR}\afs\fileutil.h"
+   File "${AFS_BUILD_INCDIR}\afs\secutil_nt.h"
+   File "${AFS_BUILD_INCDIR}\afs\com_err.h"
+   File "${AFS_BUILD_INCDIR}\afs\error_table.h"
+   ;File "${AFS_BUILD_INCDIR}\afs\mit_sipb-cr.h"
+   File "${AFS_BUILD_INCDIR}\afs\cmd.h"
+   File "${AFS_BUILD_INCDIR}\afs\rxgen_consts.h"
+   File "${AFS_BUILD_INCDIR}\afs\afsint.h"
+   File "${AFS_BUILD_INCDIR}\afs\afscbint.h"
+   File "${AFS_BUILD_INCDIR}\afs\audit.h"
+   File "${AFS_BUILD_INCDIR}\afs\acl.h"
+   File "${AFS_BUILD_INCDIR}\afs\prs_fs.h"
+   File "${AFS_BUILD_INCDIR}\afs\afsd.h"
+   File "${AFS_BUILD_INCDIR}\afs\cm.h"
+   File "${AFS_BUILD_INCDIR}\afs\cm_buf.h"
+   File "${AFS_BUILD_INCDIR}\afs\cm_cell.h"
+   File "${AFS_BUILD_INCDIR}\afs\cm_config.h"
+   File "${AFS_BUILD_INCDIR}\afs\cm_conn.h"
+   File "${AFS_BUILD_INCDIR}\afs\cm_ioctl.h"
+   File "${AFS_BUILD_INCDIR}\afs\cm_scache.h"
+   File "${AFS_BUILD_INCDIR}\afs\cm_server.h"
+   File "${AFS_BUILD_INCDIR}\afs\cm_user.h"
+   File "${AFS_BUILD_INCDIR}\afs\cm_utils.h"
+   File "${AFS_BUILD_INCDIR}\afs\fs_utils.h"
+   File "${AFS_BUILD_INCDIR}\afs\krb.h"
+   File "${AFS_BUILD_INCDIR}\afs\krb_prot.h"
+   File "${AFS_BUILD_INCDIR}\afs\smb.h"
+   File "${AFS_BUILD_INCDIR}\afs\smb3.h"
+   File "${AFS_BUILD_INCDIR}\afs\smb_iocons.h"
+   File "${AFS_BUILD_INCDIR}\afs\smb_ioctl.h"
+   File "${AFS_BUILD_INCDIR}\afs\afsrpc.h"
+   File "${AFS_BUILD_INCDIR}\afs\afssyscalls.h"
+   File "${AFS_BUILD_INCDIR}\afs\pioctl_nt.h"
+   File "${AFS_BUILD_INCDIR}\afs\auth.h"
+   File "${AFS_BUILD_INCDIR}\afs\cellconfig.h"
+   File "${AFS_BUILD_INCDIR}\afs\keys.h"
+   File "${AFS_BUILD_INCDIR}\afs\ptserver.h"
+   File "${AFS_BUILD_INCDIR}\afs\ptint.h"
+   File "${AFS_BUILD_INCDIR}\afs\pterror.h"
+   File "${AFS_BUILD_INCDIR}\afs\ptint.h"
+   File "${AFS_BUILD_INCDIR}\afs\pterror.h"
+   File "${AFS_BUILD_INCDIR}\afs\ptclient.h"
+   File "${AFS_BUILD_INCDIR}\afs\prserver.h"
+   File "${AFS_BUILD_INCDIR}\afs\print.h"
+   File "${AFS_BUILD_INCDIR}\afs\prerror.h"
+   File "${AFS_BUILD_INCDIR}\afs\prclient.h"
+   File "${AFS_BUILD_INCDIR}\afs\kautils.h"
+   File "${AFS_BUILD_INCDIR}\afs\kauth.h"
+   File "${AFS_BUILD_INCDIR}\afs\kaport.h"
+   File "${AFS_BUILD_INCDIR}\afs\vl_opcodes.h"
+   File "${AFS_BUILD_INCDIR}\afs\vlserver.h"
+   File "${AFS_BUILD_INCDIR}\afs\vldbint.h"
+   File "${AFS_BUILD_INCDIR}\afs\usd.h"
+   File "${AFS_BUILD_INCDIR}\afs\bubasics.h"
+   File "${AFS_BUILD_INCDIR}\afs\butc.h"
+   File "${AFS_BUILD_INCDIR}\afs\bumon.h"
+   File "${AFS_BUILD_INCDIR}\afs\butm.h"
+   File "${AFS_BUILD_INCDIR}\afs\tcdata.h"
+   File "${AFS_BUILD_INCDIR}\afs\budb.h"
+   ;File "${AFS_BUILD_INCDIR}\afs\budb_errors.h"
+   File "${AFS_BUILD_INCDIR}\afs\budb_client.h"
+   File "${AFS_BUILD_INCDIR}\afs\dir.h"
+   File "${AFS_BUILD_INCDIR}\afs\fssync.h"
+   File "${AFS_BUILD_INCDIR}\afs\ihandle.h"
+   File "${AFS_BUILD_INCDIR}\afs\nfs.h"
+   File "${AFS_BUILD_INCDIR}\afs\ntops.h"
+   File "${AFS_BUILD_INCDIR}\afs\partition.h"
+   File "${AFS_BUILD_INCDIR}\afs\viceinode.h"
+   File "${AFS_BUILD_INCDIR}\afs\vnode.h"
+   File "${AFS_BUILD_INCDIR}\afs\volume.h"
+   File "${AFS_BUILD_INCDIR}\afs\voldefs.h"
+   File "${AFS_BUILD_INCDIR}\afs\volser.h"
+   File "${AFS_BUILD_INCDIR}\afs\volint.h"
+   File "${AFS_BUILD_INCDIR}\afs\fs_stats.h"
+   File "${AFS_BUILD_INCDIR}\afs\bosint.h"
+   File "${AFS_BUILD_INCDIR}\afs\bnode.h"
+   
+   
+   SetOutPath "$INSTDIR\Client\Program\Include\rx"
+   File "${AFS_BUILD_INCDIR}\rx\rx.h"
+   File "${AFS_BUILD_INCDIR}\rx\rx_packet.h"
+   File "${AFS_BUILD_INCDIR}\rx\rx_user.h"
+   File "${AFS_BUILD_INCDIR}\rx\rx_event.h"
+   File "${AFS_BUILD_INCDIR}\rx\rx_queue.h"
+   File "${AFS_BUILD_INCDIR}\rx\rx_globals.h"
+   File "${AFS_BUILD_INCDIR}\rx\rx_clock.h"
+   File "${AFS_BUILD_INCDIR}\rx\rx_misc.h"
+   File "${AFS_BUILD_INCDIR}\rx\rx_multi.h"
+   File "${AFS_BUILD_INCDIR}\rx\rx_null.h"
+   File "${AFS_BUILD_INCDIR}\rx\rx_lwp.h"
+   File "${AFS_BUILD_INCDIR}\rx\rx_pthread.h"
+   File "${AFS_BUILD_INCDIR}\rx\rx_xmit_nt.h"
+   File "${AFS_BUILD_INCDIR}\rx\xdr.h"
+   File "${AFS_BUILD_INCDIR}\rx\rxkad.h"
+   
+   
+
+   ; Client Sample
+   SetOutPath "$INSTDIR\Client\Program\Sample"
+   File "..\..\afsd\sample\token.c"
+   
+   ; Client Common
+   SetOutPath "$INSTDIR\Common"
+   File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
+   File "${AFS_CLIENT_LIBDIR}\afsrpc.dll"
+   File "${AFS_CLIENT_LIBDIR}\afsauthent.dll"
+   File "${AFS_CLIENT_LIBDIR}\afspthread.dll"
+   File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll"
+   File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll"
+   File "${AFS_SERVER_BUILDDIR}\afsadminutil.dll"
+   File "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll"
+   File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
+   
+   ; Do SYSTEM32 DIR
+   SetOutPath "$SYSDIR"
+   File "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl"
+   ;File "${SDK_DIR}\REDIST\msvcrt.dll"
+   ;File "${SDK_DIR}\REDIST\mfc42.dll"
+   
+  ; Do WINDOWSDIR components
+  ; Get AFS CellServDB file
+  Call afs.GetCellServDB
+  
+  ReadINIStr $R0 $0 "Field 2" "State"
+  StrCmp $R0 "1" UsePkg DontUsePkg
+ UsePkg:
+   SetOutPath "$WINDIR"
+   File "afsdcell.ini"
+DontUsePkg:
+   ReadINIStr $R0 $0 "Field 6" "State"
+   StrCmp $R0 "1" UseFile DontUseFile
+UseFile:
+   ReadINIStr $R0 $0 "Field 7" "State"
+   CopyFiles $R0 "$WINDIR\afsdcell.ini"
+DontUseFile:
+   
+  ;Store install folder
+  WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
+  Call AFSCommon.Install
+  
+  
+  ; Write registry entries
+  WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "(Default)" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
+  WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "(Default)" "AFS Client Shell Extension"
+  WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "(Default)" "$INSTDIR\Client\Program\afs_shl_ext.dll"
+  WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
+  WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "(Default)" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
+  
+  ; AFS Reg entries
+  WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${MUI_VERSION}
+  WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${MUI_MAJORVERSION}
+  WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${MUI_MINORVERSION}
+  WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${MUI_PATCHLEVEL}
+  WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${MUI_VERSION}" "VersionString" ${MUI_VERSION}
+  WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${MUI_VERSION}" "MajorVersion" ${MUI_MAJORVERSION}
+  WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${MUI_VERSION}" "MinorVersion" ${MUI_MINORVERSION}
+  WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${MUI_VERSION}" "PatchLevel" ${MUI_PATCHLEVEL}
+
+  ; Daemon entries
+  WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\OpenAFSDaemon" "(Default)" ""
+  WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\OpenAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
+  WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\OpenAFSDaemon\NetworkProvider" "Class" 2
+  WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\OpenAFSDaemon\NetworkProvider" "LogonOptions" 0
+  WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\OpenAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x"
+  WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\OpenAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
+  WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\OpenAFSDaemon\NetworkProvider" "ProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
+  
+  ;Write start menu entries
+  CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
+  CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Programs\afscreds.exe"
+  CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Programs\afscreds.exe"
+
+  ; Create the AFS service
+  GetTempFileName $R0
+  File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
+  nsExec::Exec "$R0 OpenAFSDaemon $INSTDIR\Client\Porgram\afsd_service.exe ""OpenAFS Client Service"""
+  Delete $R0
+  
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+  
+SectionEnd
+
+;------------------------
+; OpenAFS SERVER  
+Section "AFS Server" SecServer
+
+   SetOutPath "$INSTDIR\Server\usr\afs\bin"  
+  File "${NSISDIR}\Contrib\UIs\modern.exe"
+  
+  ;Store install folder
+  WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Server" "" $INSTDIR
+  
+  WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${MUI_VERSION}
+  WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${MUI_VERSION}" "VersionString" ${MUI_VERSION}
+
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+SectionEnd
+
+
+;----------------------------
+; OpenAFS Control Center
+Section "AFS Control Center" SecControl
+
+   SetOutPath "$INSTDIR\Control"
+  File "${NSISDIR}\Contrib\UIs\modern.exe"
+   
+  ;Store install folder
+  WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Control" "" $INSTDIR
+  
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+
+SectionEnd   
+
+
+;----------------------------
+; OpenAFS Supplemental Documentation
+Section "Supplemental Documentation" SecDocs
+
+   StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
+   StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
+   StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
+   StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
+   ;StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
+   StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
+   StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
+   StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
+   
+   
+DoEnglish:
+   SetOutPath "$INSTDIR\Documentation"
+   File "..\..\doc\install\Documentation\en_US\README.TXT"
+   SetOutPath "$INSTDIR\Documentation\html"
+   File "..\..\doc\install\Documentation\en_US\html\*"
+   SetOutPath "$INSTDIR\Documentation\html\CmdRef"
+   File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
+   SetOutPath "$INSTDIR\Documentation\html\InstallGd"
+   File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
+   SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
+   File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
+   SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
+   File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
+   goto DoneLanguage
+   
+DoGerman:
+   SetOutPath "$INSTDIR\Documentation"
+   File "..\..\doc\install\Documentation\de_DE\README.TXT"
+   SetOutPath "$INSTDIR\Documentation\html"
+   File "..\..\doc\install\Documentation\de_DE\html\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
+   ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
+   SetOutPath "$INSTDIR\Documentation\html\InstallGd"
+   File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
+   ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
+   ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
+   goto DoneLanguage
+   
+DoSpanish:
+   SetOutPath "$INSTDIR\Documentation"
+   File "..\..\doc\install\Documentation\es_ES\README.TXT"
+   SetOutPath "$INSTDIR\Documentation\html"
+   File "..\..\doc\install\Documentation\es_ES\html\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
+   ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
+   SetOutPath "$INSTDIR\Documentation\html\InstallGd"
+   File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
+   ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
+   ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
+   goto DoneLanguage
+
+DoJapanese:
+   SetOutPath "$INSTDIR\Documentation"
+   File "..\..\doc\install\Documentation\ja_JP\README.TXT"
+   SetOutPath "$INSTDIR\Documentation\html"
+   File "..\..\doc\install\Documentation\ja_JP\html\*"
+   SetOutPath "$INSTDIR\Documentation\html\CmdRef"
+   File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
+   SetOutPath "$INSTDIR\Documentation\html\InstallGd"
+   File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
+   SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
+   File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
+   SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
+   File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
+   goto DoneLanguage
+   
+DoKorean:
+   SetOutPath "$INSTDIR\Documentation"
+   File "..\..\doc\install\Documentation\ko_KR\README.TXT"
+   SetOutPath "$INSTDIR\Documentation\html"
+   File "..\..\doc\install\Documentation\ko_KR\html\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
+   ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
+   SetOutPath "$INSTDIR\Documentation\html\InstallGd"
+   File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
+   SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
+   File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
+   SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
+   File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
+   goto DoneLanguage
+   
+DoPortugueseBR:
+   SetOutPath "$INSTDIR\Documentation"
+   File "..\..\doc\install\Documentation\pt_BR\README.TXT"
+   SetOutPath "$INSTDIR\Documentation\html"
+   File "..\..\doc\install\Documentation\pt_BR\html\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
+   ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
+   SetOutPath "$INSTDIR\Documentation\html\InstallGd"
+   File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
+   SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
+   File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
+   ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
+   goto DoneLanguage
+
+DoSimpChinese:
+   SetOutPath "$INSTDIR\Documentation"
+   File "..\..\doc\install\Documentation\zh_CN\README.TXT"
+   SetOutPath "$INSTDIR\Documentation\html"
+   File "..\..\doc\install\Documentation\zh_CN\html\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
+   ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
+   SetOutPath "$INSTDIR\Documentation\html\InstallGd"
+   File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
+   SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
+   File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
+   ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
+   goto DoneLanguage
+   
+DoTradChinese:
+   SetOutPath "$INSTDIR\Documentation"
+   File "..\..\doc\install\Documentation\zh_TW\README.TXT"
+   SetOutPath "$INSTDIR\Documentation\html"
+   File "..\..\doc\install\Documentation\zh_TW\html\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
+   ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
+   SetOutPath "$INSTDIR\Documentation\html\InstallGd"
+   File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
+   SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
+   File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
+   ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
+   ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
+   goto DoneLanguage
+   
+   
+DoneLanguage:
+   ;Store install folder
+  WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
+  WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${MUI_VERSION}
+  WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${MUI_MAJORVERSION}
+  WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${MUI_MINORVERSION}
+  WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${MUI_PATCHLEVEL}
+  WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${MUI_VERSION}" "VersionString" ${MUI_VERSION}
+  WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${MUI_VERSION}" "MajorVersion" ${MUI_MAJORVERSION}
+  WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${MUI_VERSION}" "MinorVersion" ${MUI_MINORVERSION}
+  WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${MUI_VERSION}" "PatchLevel" ${MUI_PATCHLEVEL}
+
+  ; Write start menu shortcut
+  SetOutPath "$SMPROGRAMS\OpenAFS"
+  CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
+  
+  
+  WriteUninstaller "$INSTDIR\Uninstall.exe"
+  CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
+SectionEnd  
+  
+;Display the Finish header
+;Insert this macro after the sections if you are not using a finish page
+;!insertmacro MUI_SECTIONS_FINISHHEADER
+
+;--------------------------------
+;Installer Functions
+
+Function .onInit
+
+  !insertmacro MUI_LANGDLL_DISPLAY
+  
+  ; Set the default install options
+       Push $0
+
+   Call ShouldClientInstall
+   Pop $R2
+   
+   StrCmp $R2 "0" NoClient
+   StrCmp $R2 "2" UpgradeClient
+   
+       StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
+       SectionGetFlags ${secClient} $0
+       IntOp $0 $0 | ${SF_SELECTED}
+       SectionSetFlags ${secClient} $0
+       # !insertmacro SelectSection ${secClient}
+   goto skipClient
+NoClient:
+       StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
+       SectionGetFlags ${secClient} $0
+       IntOp $0 $0 | ${SECTION_OFF}
+       SectionSetFlags ${secClient} $0
+   goto skipClient
+UpgradeClient:
+       SectionGetFlags ${secClient} $0
+       IntOp $0 $0 | ${SF_SELECTED}
+       SectionSetFlags ${secClient} $0
+   SectionSetText ${secClient} $(UPGRADE_CLIENT)
+   goto skipClient
+
+   
+skipClient:   
+   
+   
+   Call IsServerInstalled
+   Pop $R2
+   StrCmp $R2 "0" NoServer
+   
+       SectionGetFlags ${secServer} $0
+       IntOp $0 $0 & ${SF_SELECTED}
+       SectionSetFlags ${secServer} $0
+       # !insertmacro UnselectSection ${secServer}
+   goto skipServer
+
+NoServer:
+       SectionGetFlags ${secServer} $0
+       IntOp $0 $0 & ${SECTION_OFF}
+       SectionSetFlags ${secServer} $0
+       # !insertmacro UnselectSection ${secServer}
+   
+skipServer:   
+       SectionGetFlags ${secControl} $0
+       IntOp $0 $0 & ${SECTION_OFF}
+       SectionSetFlags ${secControl} $0
+       # !insertmacro UnselectSection ${secControl}
+
+       SectionGetFlags ${secDocs} $0
+       IntOp $0 $0 | ${SF_SELECTED}
+       SectionSetFlags ${secDocs} $0
+       # !insertmacro UnselectSection ${secDocs}
+
+       Pop $0
+  
+  
+  
+  GetTempFilename $0
+  File /oname=$0 CellServPage.ini
+   
+  
+FunctionEnd
+
+
+
+
+
+;--------------------------------
+; These are our cleanup functions
+Function .onInstFailed
+Delete $0
+
+FunctionEnd
+
+Function .onInstSuccess
+Delete $0
+
+FunctionEnd
+
+
+;--------------------------------
+;Descriptions
+
+!insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecServer} $(DESC_SecServer)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecClient} $(DESC_SecClient)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecControl} $(DESC_SecControl)
+  !insertmacro MUI_DESCRIPTION_TEXT ${SecDocs} $(DESC_SecDocs)
+!insertmacro MUI_FUNCTIONS_DESCRIPTION_END
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+  
+  Delete "$INSTDIR\modern.exe"
+  Delete "$INSTDIR\Client\modern.exe"
+  Delete "$INSTDIR\Control_Center\modern.exe"
+  Delete "$INSTDIR\Documentation\README.TXT"
+  Delete "$INSTDIR\Documentation\html\*"
+  Delete "$INSTDIR\Documentation\html\CmdRef\*"
+  Delete "$INSTDIR\Documentation\html\InstallGd\*"
+  Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
+  Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
+
+
+  Delete "$WINDIR\afsdcell.ini"
+  
+  Delete "$INSTDIR\Uninstall.exe"
+
+  RMDir "$INSTDIR\Client"
+  RMDir "$INSTDIR\Server"
+  
+  RMDir "$INSTDIR\Documentation\html\CmdRef"
+  RMDir "$INSTDIR\Documentation\html\InstallGd"
+  RMDir "$INSTDIR\Documentation\html\ReleaseNotes"
+  RMDir "$INSTDIR\Documentation\html\SysAdminGd"
+  RMDIr "$INSTDIR\Documentation\html"
+  
+  RMDir "$INSTDIR\Documentation"
+  ; Delete DOC short cut
+  Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
+
+  RMDir "$INSTDIR\Control Center"
+  RMDir "$INSTDIR"
+
+  Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
+  RMDir "$SMPROGRAMS\OpenAFS"
+  
+  DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
+  DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
+  DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
+  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
+
+  ;Display the Finish header
+  !insertmacro MUI_UNFINISHHEADER
+
+SectionEnd
+
+;--------------------------------
+;Uninstaller Functions
+
+Function un.onInit
+
+  ;Get language from registry
+  ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
+  
+FunctionEnd
+
+
+;------------------------------
+; Get the CellServDB file from the Internet
+
+Function afs.GetCellServDB
+
+;Check if we should download CellServDB
+ReadINIStr $R0 $0 "Field 4" "State"
+StrCmp $R0 "0" done
+
+   ReadINIStr $R0 $0 "Field 5" "State"
+   NSISdl::download $R0 "$WINDIR\afsdcell.ini"
+   Pop $R0 ;Get the return value
+   StrCmp $R0 "success" +2
+      MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
+
+done:
+
+FunctionEnd
+
+
+
+;-------------------------------
+;Do the page to get the CellServDB
+
+Function AFSPageGetCellServDB
+  ; Set the install options here
+  
+startOver:
+  WriteINIStr $0 "Field 2" "Flags" "DISABLED"
+  WriteINIStr $0 "Field 3" "State" "1"
+  
+  InstallOptions::dialog $0
+  Pop $R1
+  StrCmp $R1 "cancel" exit
+  StrCmp $R1 "back" done
+  StrCmp $R1 "success" done
+exit: Quit
+done:
+
+   ; Check that if a file is set, a filename is entered...
+   ReadINIStr $R0 $0 "Field 6" "State"
+   StrCmp $R0 "1" CheckFileName Skip
+CheckFileName:
+   ReadINIStr $R0 $0 "Field 7" "State"
+   IfFileExists $R0 Skip
+
+   MessageBox MB_OK|MB_ICONSTOP $(CellError)
+   WriteINIStr $0 "Field 6" "State" "0"
+   goto startOver
+   
+   Skip:
+   
+FunctionEnd
+
+;-------------
+; Common install routines for each module
+Function AFSCommon.Install
+
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${MUI_VERSION}"
+WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
+
+FunctionEnd
+
+
+; Check if install should be silent
+Function IsSilent
+  Push $0
+  Push $CMDLINE
+  Push "/S"
+  Call StrStr
+  Pop $0
+  StrCpy $0 $0 3
+  StrCmp $0 "/S" silent
+  StrCmp $0 "/S " silent
+    StrCpy $0 0
+    Goto notsilent
+  silent: StrCpy $0 1
+  notsilent: Exch $0
+FunctionEnd
+
+
+; StrStr function
+Function StrStr
+  Exch $R1 ; st=haystack,old$R1, $R1=needle
+  Exch    ; st=old$R1,haystack
+  Exch $R2 ; st=old$R1,old$R2, $R2=haystack
+  Push $R3
+  Push $R4
+  Push $R5
+  StrLen $R3 $R1
+  StrCpy $R4 0
+  ; $R1=needle
+  ; $R2=haystack
+  ; $R3=len(needle)
+  ; $R4=cnt
+  ; $R5=tmp
+  loop:
+    StrCpy $R5 $R2 $R3 $R4
+    StrCmp $R5 $R1 done
+    StrCmp $R5 "" done
+    IntOp $R4 $R4 + 1
+    Goto loop
+  done:
+  StrCpy $R1 $R2 "" $R4
+  Pop $R5
+  Pop $R4
+  Pop $R3
+  Pop $R2
+  Exch $R1
+FunctionEnd
+
+;-------------------
+; Get the currently installed version and place it on the stack
+; Modifies: Nothing
+Function GetInstalledVersion
+   Push $R0
+   Push $R1
+   Push $R4
+   
+   ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
+   StrCmp $R0 "" NotTransarc
+   
+   
+NotTransarc:
+   ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
+   StrCmp $R0 "" done
+   
+done:
+   Pop $R4
+   Pop $R1
+   Exch $R0
+FunctionEnd
+
+
+;-------------------------------
+; Check if the client should be checked for default install
+Function ShouldClientInstall
+   Push $R0
+   StrCpy $R2 "Client"
+   Call GetInstalledVersion
+   Pop $R0
+   
+   StrCmp $R0 "" NotInstalled
+   
+   StrCpy $R0 "0"
+   Exch $R0
+   goto end
+   
+NotInstalled:
+   StrCpy $R0 "1"
+   Exch $R0
+end:   
+FunctionEnd
+
+
+; See if AFS Client is installed
+Function IsServerInstalled
+   Push $R0
+   StrCpy $R2 "AFS Server"
+   Call GetInstalledVersion
+   Pop $R0
+   
+   StrCmp $R0 "" NotInstalled
+   
+   StrCpy $R0 "1"
+   Exch $R0
+   goto end
+   
+NotInstalled:
+   StrCpy $R0 "0"
+   Exch $R0
+end:   
+FunctionEnd
+
+
+; See if AFS Server is installed
+Function IsClientInstalled
+   Push $R0
+   StrCpy $R2 "AFS Client"
+   Call GetInstalledVersion
+   Pop $R0
+   
+   StrCmp $R0 "" NotInstalled
+   
+   StrCpy $R0 "1"
+   Exch $R0
+   goto end
+   
+NotInstalled:
+   StrCpy $R0 "0"
+   Exch $R0
+end:   
+FunctionEnd
+
+
+
+; See if AFS Documentation is installed
+Function IsDocumentationInstalled
+   Push $R0
+   StrCpy $R2 "AFS Supplemental Documentation"
+   Call GetInstalledVersion
+   Pop $R0
+   
+   StrCmp $R0 "" NotInstalled
+   
+   StrCpy $R0 "1"
+   Exch $R0
+   goto end
+   
+NotInstalled:
+   StrCpy $R0 "0"
+   Exch $R0
+end:   
+FunctionEnd
+
+
+; See if COntrol Center is installed
+Function IsControlInstalled
+   Push $R0
+   StrCpy $R2 "Control_Center"
+   Call GetInstalledVersion
+   Pop $R0
+   
+   StrCmp $R0 "" NotInstalled
+   
+   StrCpy $R0 "1"
+   Exch $R0
+   goto end
+   
+NotInstalled:
+   StrCpy $R0 "0"
+   Exch $R0
+end:   
+FunctionEnd
+
+
+; GetParameters
+; input, none
+; output, top of stack (replaces, with e.g. whatever)
+; modifies no other variables.
+
+Function GetParameters
+  Push $R0
+  Push $R1
+  Push $R2
+  StrCpy $R0 $CMDLINE 1
+  StrCpy $R1 '"'
+  StrCpy $R2 1
+  StrCmp $R0 '"' loop
+    StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
+  loop:
+    StrCpy $R0 $CMDLINE 1 $R2
+    StrCmp $R0 $R1 loop2
+    StrCmp $R0 "" loop2
+    IntOp $R2 $R2 + 1
+    Goto loop
+  loop2:
+    IntOp $R2 $R2 + 1
+    StrCpy $R0 $CMDLINE 1 $R2
+    StrCmp $R0 " " loop2
+  StrCpy $R0 $CMDLINE "" $R2
+  Pop $R2
+  Pop $R1
+  Exch $R0
+FunctionEnd
+
+
+;Check to see if any AFS component is installed
+Function IsAnyAFSInstalled
+
+FunctionEnd
+
+
+;Install English Language Files
+Function AFSLangFiles
+   StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
+;   StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
+;   StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
+;   StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
+   ;StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
+;   StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
+;   StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
+;   StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
+   
+DoEnglish:
+   SetOutPath "$INSTDIR\Common"
+   File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll"
+   ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll"
+   File "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll"
+   
+
+FunctionEnd
diff --git a/src/WINNT/install/NSIS/Service.cpp b/src/WINNT/install/NSIS/Service.cpp
new file mode 100644 (file)
index 0000000..94664a4
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+      Service Installer for NSIS script
+      
+      Rob Murawski
+      
+      Released under terms of IBM Open Source agreement for OpenAFS
+      
+      */
+
+#include <stdio.h>
+#include <windows.h>
+#include <tchar.h>
+
+int main(int argc, char *argv[])
+{
+   if(argc<3)
+   {
+      printf("Insufficient arguments: Service ServiceName ServicePath DisplayName.\n");
+      return 1;
+   }
+   
+       SC_HANDLE hSCM = OpenSCManager(NULL, NULL, SC_MANAGER_CREATE_SERVICE);
+       SC_HANDLE hService;
+
+       if(hSCM == NULL)
+       {
+               printf("Could not open Service Control Manager. Aborting.\n");
+               return 1;
+       }
+
+
+               hService = CreateService(hSCM, argv[1],
+               _T(argv[3]),
+               SERVICE_ALL_ACCESS,
+               SERVICE_WIN32_OWN_PROCESS,
+               SERVICE_AUTO_START,
+               SERVICE_ERROR_IGNORE,
+               argv[2],
+               NULL,NULL,NULL, NULL, NULL );
+
+       if (hService == NULL)
+       {
+               printf("Create Service failed (%d)\n", GetLastError() );
+               CloseServiceHandle(hSCM);
+       }
+
+       CloseServiceHandle(hService);
+
+
+       CloseServiceHandle(hService);
+       CloseServiceHandle(hSCM);
+
+       return 0;
+}
\ No newline at end of file
diff --git a/src/WINNT/install/NSIS/afsdcell.ini b/src/WINNT/install/NSIS/afsdcell.ini
new file mode 100644 (file)
index 0000000..5ca6805
--- /dev/null
@@ -0,0 +1,378 @@
+>grand.central.org      #GCO Public CellServDB 26 Feb 2003
+18.7.14.88                      #grand-opening.mit.edu
+128.2.191.224                   #penn.central.org
+>wu-wien.ac.at          #University of Economics, Vienna, Austria
+137.208.3.33                    #afsdb1.wu-wien.ac.at
+137.208.7.4                     #afsdb2.wu-wien.ac.at
+137.208.7.7                     #afsdb3.wu-wien.ac.at
+>cern.ch                #European Laboratory for Particle Physics, Geneva
+137.138.128.148                 #afsdb1.cern.ch
+137.138.246.50                  #afsdb3.cern.ch
+137.138.246.51                  #afsdb2.cern.ch
+>ams.cern.ch            #AMS Experiment
+137.138.206.77                  #pcamsf2.cern.ch
+137.138.206.123                 #pcamsf4.cern.ch
+>ethz.ch                #Swiss Federal Inst. of Tech. - Zurich, Switzerland
+129.132.97.19                   #amalthea.ethz.ch
+129.132.97.27                   #nethzafs-001.ethz.ch
+129.132.115.3                   #himalia.ethz.ch
+129.132.115.37                  #nethzafs-005.ethz.ch
+129.132.115.38                  #nethzafs-006.ethz.ch
+>psi.ch                 #Paul Scherrer Institut - Villigen, Switzerland
+129.129.16.10                   #afs1.psi.ch
+129.129.16.11                   #afs2.psi.ch
+>extundo.com            #Simon Josefsson's cell
+195.42.214.241                  #slipsten.extundo.com
+>mekinok.com            #Mekinok, Inc.
+4.36.43.98                      #loggerhead.mekinok.com
+>sodre.cx               #Sodre.cx
+128.8.140.165                   #greed.sodre.cx
+>desy.de                #Deutsches Elektronen-Synchrotron
+131.169.40.62                   #vayu.desy.de
+131.169.244.60                  #solar00.desy.de
+>gppc.de                #GPP Chemnitz mbH
+213.187.92.33                   #gpp1.gppc.de
+213.187.92.34                   #paulchen.gppc.de
+213.187.92.35                   #lotus.gppc.de
+>ifh.de                 #DESY Zeuthen
+141.34.22.10                    #romulus.ifh.de
+141.34.22.11                    #remus.ifh.de
+141.34.22.29                    #hekate.ifh.de
+>lrz-muenchen.de        #Leibniz-Rechenzentrum Muenchen
+129.187.10.36                   #afs1.lrz-muenchen.de
+129.187.14.10                   #afs3.lrz-muenchen.de
+129.187.14.12                   #afs2.lrz-muenchen.de
+>ipp-garching.mpg.de    #Institut fuer Plasmaphysik
+130.183.9.5                     #afs-db1.rzg.mpg.de
+130.183.100.10                  #afs-db2.aug.ipp-garching.mpg.de
+130.183.100.23                  #afs-db3.aug.ipp-garching.mpg.de
+>tu-chemnitz.de         #Technische Universitaet Chemnitz, Germany
+134.109.2.1                     #zuse.hrz.tu-chemnitz.de
+134.109.2.15                    #phoenix.hrz.tu-chemnitz.de
+134.109.200.7                   #aetius.hrz.tu-chemnitz.de
+>uni-bonn.de            #Cell name
+131.220.14.198                  #work15-eth.rhrz.uni-bonn.de
+131.220.14.203                  #node03-en2.rhrz.uni-bonn.de
+131.220.14.205                  #node05.rhrz.uni-bonn.de
+>uni-freiburg.de        #Albert-Ludwigs-Universitat Freiburg
+132.230.6.235                   #sv6.ruf.uni-freiburg.de
+132.230.6.236                   #sv7.ruf.uni-freiburg.de
+132.230.6.237                   #sv8.ruf.uni-freiburg.de
+>uni-hohenheim.de       #University of Hohenheim
+144.41.2.2                      #rs13.serv.uni-hohenheim.de
+144.41.2.3                      #rs14.serv.uni-hohenheim.de
+144.41.2.4                      #rs15.serv.uni-hohenheim.de
+>meteo.uni-koeln.de     #Univ. of Cologne - Inst. for Geophysics & Meteorology
+134.95.144.22                   #afs1.meteo.uni-koeln.de
+134.95.144.24                   #afs2.meteo.uni-koeln.de
+>rrz.uni-koeln.de       #University of Cologne - Reg Comp Center
+134.95.19.3                     #afsdb1.rrz.uni-koeln.de
+134.95.19.30                    #fileserv3.rrz.uni-koeln.de
+134.95.67.97                    #afs.thp.uni-koeln.de
+134.95.140.190                  #rzkbserv.rrz.uni-koeln.de
+>physik.uni-mainz.de    #institute of physics, university Mainz, Germany
+134.93.130.93                   #hardy.physik.uni-mainz.de
+>uni-mannheim.de        #Uni Mannheim (Rechenzentrum)
+134.155.50.165                  #afsdbx.uni-mannheim.de
+134.155.50.166                  #afsdby.uni-mannheim.de
+134.155.50.167                  #afsdbz.uni-mannheim.de
+>andrew.cmu.edu         #Carnegie Mellon University - Computing Services
+128.2.10.2                      #vice2.fs.andrew.cmu.edu
+128.2.10.7                      #vice7.fs.andrew.cmu.edu
+128.2.10.11                     #vice11.fs.andrew.cmu.edu
+128.2.10.12                     #vice12.fs.andrew.cmu.edu
+128.2.10.28                     #vice28.fs.andrew.cmu.edu
+>club.cc.cmu.edu        #Carnegie Mellon University Computer Club
+128.2.4.131                     #yttrium.club.cc.cmu.edu
+128.2.4.132                     #zirconium.club.cc.cmu.edu
+>chem.cmu.edu           #Carnegie Mellon University - Chemistry Dept.
+128.2.40.134                    #afs.chem.cmu.edu
+>cs.cmu.edu             #Carnegie Mellon University - School of Comp. Sci.
+128.2.206.130                   #cucumber.srv.cs.cmu.edu
+128.2.222.199                   #papaya.srv.cs.cmu.edu
+128.2.242.86                    #lemon.srv.cs.cmu.edu
+>ece.cmu.edu            #Carnegie Mellon University - Elec. Comp. Eng. Dept.
+128.2.129.7                     #porok.ece.cmu.edu
+128.2.129.8                     #vicio.ece.cmu.edu
+128.2.129.9                     #e-xing.ece.cmu.edu
+128.2.136.109                   #last.ece.cmu.edu
+>msc.cornell.edu        #Cornell University Materials Science Center
+128.84.231.242                  #miranda.ccmr.cornell.edu
+128.84.241.35                   #co.ccmr.cornell.edu
+128.84.249.78                   #dax.ccmr.cornell.edu
+>iastate.edu            #Iowa State University
+129.186.1.243                   #afsdb-1.iastate.edu
+129.186.6.243                   #afsdb-2.iastate.edu
+129.186.142.243                 #afsdb-3.iastate.edu
+>athena.mit.edu         #MIT/Athena cell
+18.7.1.66                       #paris.mit.edu.
+18.145.0.25                     #agamemnon.mit.edu.
+18.158.0.37                     #prill.mit.edu.
+>dev.mit.edu            #MIT/IS Development cell
+18.7.1.70                       #wham.mit.edu.
+18.7.15.89                      #rattle.mit.edu.
+18.7.15.93                      #hum.mit.edu.
+>net.mit.edu            #MIT/Network Group cell
+18.7.7.73                       #gracie.mit.edu
+18.7.21.95                      #george.mit.edu
+>sipb.mit.edu           #MIT/SIPB cell
+18.181.0.19                     #reynelda.mit.edu.
+18.181.0.22                     #rosebud.mit.edu.
+18.181.0.23                     #ronald-ann.mit.edu.
+>msu.edu                #Michigan State University Main Cell
+35.9.7.10                       #afsdb0.cl.msu.edu
+>nd.edu                 #University of Notre Dame
+129.74.223.17                   #john.helios.nd.edu
+129.74.223.33                   #lizardo.helios.nd.edu
+129.74.223.65                   #buckaroo.helios.nd.edu
+>pitt.edu               #University of Pittsburgh
+136.142.8.15                    #afs09.srv.cis.pitt.edu
+136.142.8.20                    #afs10.srv.cis.pitt.edu
+136.142.8.21                    #afs11.srv.cis.pitt.edu
+>psc.edu                #PSC (Pittsburgh Supercomputing Center)
+128.182.59.182                  #shaggy.psc.edu
+128.182.66.184                  #velma.psc.edu
+128.182.66.185                  #daphne.psc.edu
+>rose-hulman.edu        #Rose-Hulman Institute of Technology
+137.112.7.11                    #afs1.rose-hulman.edu
+137.112.7.12                    #afs2.rose-hulman.edu
+137.112.7.13                    #afs3.rose-hulman.edu
+>cs.rose-hulman.edu     #Rose-Hulman CS Department
+137.112.40.10                   #galaxy.cs.rose-hulman.edu
+>rpi.edu                #Rensselaer Polytechnic Institute
+128.113.22.11                   #saul.server.rpi.edu
+128.113.22.12                   #joab.server.rpi.edu
+128.113.22.13                   #korah.server.rpi.edu
+128.113.22.14                   #achan.server.rpi.edu
+>hep.sc.edu             #University of South Carolina, Dept. of Physics
+129.252.78.77                   #cpeven.physics.sc.edu
+>ir.stanford.edu        #Stanford University
+171.64.7.222                    #afsdb1.stanford.edu
+171.64.7.234                    #afsdb2.stanford.edu
+171.64.7.246                    #afsdb3.stanford.edu
+>slac.stanford.edu      #Stanford Linear Accelerator Center
+134.79.18.25                    #afsdb1.slac.stanford.edu
+134.79.18.26                    #afsdb2.slac.stanford.edu
+134.79.18.27                    #afsdb3.slac.stanford.edu
+>cats.ucsc.edu          #UC Santa Cruz, Comm. and Tech. Services, California U.S.A
+128.114.129.14                  #elan.ucsc.edu
+128.114.129.15                  #ichabod.ucsc.edu
+128.114.129.18                  #maneki.ucsc.edu
+>ncsa.uiuc.edu          #University of Illinois
+141.142.3.5                     #congo.ncsa.uiuc.edu
+141.142.3.8                     #nile.ncsa.uiuc.edu
+141.142.230.19                  #jinx.ncsa.uiuc.edu
+>umbc.edu               #University of Maryland, Baltimore County
+130.85.1.13                     #db2.afs.umbc.edu
+130.85.6.33                     #db1.afs.umbc.edu
+130.85.60.12                    #db3.afs.umbc.edu
+>glue.umd.edu           #University of Maryland - Project Glue
+128.8.10.44                     #tin.umd.edu
+128.8.10.126                    #iron.umd.edu
+128.8.70.10                     #copper.umd.edu
+>wam.umd.edu            #University of Maryland Network WAM Project
+128.8.70.9                      #csc-srv.wam.umd.edu
+128.8.73.9                      #pg2-srv.wam.umd.edu
+129.2.128.54                    #avw-srv.wam.umd.edu
+>umich.edu              #University of Michigan - Campus
+141.211.1.32                    #fear.ifs.umich.edu
+141.211.1.33                    #surprise.ifs.umich.edu
+141.211.1.34                    #ruthless.ifs.umich.edu
+>atlas.umich.edu        #ATLAS group cell in physics at University of Michigan
+141.211.43.102                  #linat02.grid.umich.edu
+141.211.43.106                  #linat06.grid.umich.edu
+141.211.43.109                  #atgrid.grid.umich.edu
+>citi.umich.edu         #University of Michigan - CITI
+141.211.92.144                  #babble.citi.umich.edu
+>lsa.umich.edu          #University of Michigan - College of LS&A
+141.211.54.132                  #curtis.admin.lsa.umich.edu
+141.211.61.23                   #zee.admin.lsa.umich.edu
+141.211.68.15                   #marshall.lsa.umich.edu
+>math.lsa.umich.edu     #University of Michigan - Math Department
+141.211.61.40                   #ike.math.lsa.umich.edu
+141.211.61.41                   #clark.math.lsa.umich.edu
+141.211.61.42                   #nimitz.math.lsa.umich.edu
+>umr.edu                #University of Missouri - Rolla
+131.151.1.59                    #afsdb1.umr.edu
+131.151.1.70                    #afsdb3.umr.edu
+131.151.1.146                   #afsdb2.umr.edu
+>eng.utah.edu           #University of Utah - Engineering
+155.99.222.40                   #afs1.eng.utah.edu
+155.99.222.41                   #afs2.eng.utah.edu
+>cs.uwm.edu             #University of Wisconsin--Milwaukee
+129.89.38.124                   #solomons.cs.uwm.edu
+>cs.wisc.edu            #Univ. of Wisconsin-Madison, Computer Sciences Dept.
+128.105.132.14                  #timon.cs.wisc.edu
+128.105.132.15                  #pumbaa.cs.wisc.edu
+128.105.132.16                  #zazu.cs.wisc.edu
+>hep.wisc.edu           #University of Wisconsin -- High Energy Physics
+128.104.28.219                  #anise.physics.wisc.edu
+>ifca.unican.es         #Instituto de Fisica de Cantabria (IFCA), Santander, Spain
+193.144.209.20                  #gridwall.ifca.unican.es
+>biocenter.helsinki.fi  #University of Helsinki, Institute of Biotechnology
+128.214.58.174                  #afsdb1.biocenter.helsinki.fi
+128.214.88.114                  #afsdb2.biocenter.helsinki.fi
+>dapnia.saclay.cea.fr   #CEA DAPNIA
+132.166.32.7                    #dphrsg.saclay.cea.fr
+132.166.32.12                   #dphrsl.saclay.cea.fr
+>in2p3.fr               #IN2P3 production cell
+134.158.232.11                  #ccafsdb1.in2p3.fr
+134.158.232.12                  #ccafsdb2.in2p3.fr
+134.158.232.13                  #ccafsdb3.in2p3.fr
+>anl.gov                #Argonne National Laboratory
+146.137.96.33                   #arteus.ctd.anl.gov
+146.137.162.88                  #agamemnon.ctd.anl.gov
+146.137.194.80                  #antenor.ctd.anl.gov
+>usatlas.bnl.gov        #US Atlas Tier 1 Facility at BNL
+130.199.48.32                   #aafs01.usatlas.bnl.gov
+130.199.48.33                   #aafs02.usatlas.bnl.gov
+130.199.48.34                   #aafs03.usatlas.bnl.gov
+>fnal.gov               #Fermi National Acclerator Laboratory
+131.225.68.1                    #fsus01.fnal.gov
+131.225.68.4                    #fsus03.fnal.gov
+131.225.68.14                   #fsus04.fnal.gov
+>nersc.gov              #National Energy Research Supercomputer Center
+128.55.128.250                  #mars.nersc.gov
+128.55.128.252                  #alfred.nersc.gov
+128.55.128.254                  #lurch.nersc.gov
+>caspur.it              #CASPUR Inter-University Computing Consortium, Rome
+193.204.5.45                    #pomodoro.caspur.it
+193.204.5.46                    #banana.caspur.it
+193.204.5.50                    #maslo.caspur.it
+>fusione.it             #Assoz. FUSIONE/Euratom, ENEA, Frascati-Italy
+192.107.90.2                    #fusafs1.frascati.enea.it
+192.107.90.3                    #fusafs2.frascati.enea.it
+192.107.90.4                    #fusafs3.frascati.enea.it
+>infn.it                #Istituto Nazionale di Fisica Nucleare (INFN), Italia
+131.154.1.7                     #afscnaf.infn.it
+141.108.3.252                   #afsrm1.roma1.infn.it
+192.84.134.75                   #afsna.na.infn.it
+>kloe.infn.it           #INFN, KLOE experiment at Laboratori di Frascati
+192.135.25.111                  #kloeafs1.lnf.infn.it
+192.135.25.112                  #kloeafs2.lnf.infn.it
+>le.infn.it             #INFN, Sezione di Lecce
+192.84.152.40                   #afs01.le.infn.it
+192.84.152.148                  #afs02.le.infn.it
+>lnf.infn.it            #INFN, Laboratori Nazionali di Frascati
+193.206.84.121                  #afs1.lnf.infn.it
+193.206.84.123                  #afs3.lnf.infn.it
+>lngs.infn.it           #INFN, Laboratori Nazionali di Gran Sasso
+192.84.135.21                   #rsgs05.lngs.infn.it
+>pi.infn.it             #INFN, Sezione di Pisa
+192.84.133.7                    #aix.pi.infn.it
+192.84.133.50                   #aix1.pi.infn.it
+>psm.it                 #Progetto San Marco, Universita' di Roma-1
+151.100.1.65                    #atlante.psm.uniroma1.it
+>ictp.trieste.it        #The Abdus Salam International Centre for Theoretical Physics (IC
+140.105.16.8                    #fs1.ictp.trieste.it
+140.105.16.9                    #fs2.ictp.trieste.it
+>dis.uniroma1.it        #Universita' La Sapienza, Dept. of Inf. and Sys.
+151.100.5.21                    #peano.dis.uniroma1.it
+>dsi.uniroma1.it        #Universita' La Sapienza, Dept. of Computer Science
+151.100.17.2                    #afscinfo.dsi.uniroma1.it
+>ing.uniroma1.it        #Universita' La Sapienza, Fac. Ingeneria
+151.100.39.30                   #delta.ing.uniroma1.it
+151.100.85.209                  #beta.ing.uniroma1.it
+>vn.uniroma3.it         #University of Rome 3, Area Vasca Navale
+193.204.161.136                 #alfa.dia.uniroma3.it
+193.204.161.137                 #beta.dia.uniroma3.it
+193.204.161.138                 #gamma.dia.uniroma3.it
+>italia                 #Italian Public AFS Cell
+193.204.5.9                     #afs.caspur.it
+>cmf.nrl.navy.mil       #Naval Research Lab - CCS
+134.207.10.68                   #picard.cmf.nrl.navy.mil
+134.207.10.69                   #riker.cmf.nrl.navy.mil
+134.207.10.70                   #kirk.cmf.nrl.navy.mil
+>lcp.nrl.navy.mil       #Naval Research Lab - Lab for Computational Physics
+132.250.114.2                   #afs1.lcp.nrl.navy.mil
+132.250.114.4                   #afs2.lcp.nrl.navy.mil
+132.250.114.6                   #afs3.lcp.nrl.navy.mil
+>es.net                 #Energy Sciences Net
+198.128.3.21                    #fs1.es.net
+198.128.3.22                    #fs2.es.net
+198.128.3.23                    #fs3.es.net
+>slackers.net           #The Slackers' Network
+63.201.48.27                    #alexandria.slackers.net
+>nikhef.nl              #The Dutch National Institute for High Energy Physics
+192.16.185.26                   #afs1.nikhef.nl
+192.16.185.27                   #afs2.nikhef.nl
+>1ts.org                #KCR/private Karl Ramm, Cambridge, MA
+4.36.43.102                     #dol-guldur.1ts.org
+>bazquux.org            #Baz Quux Organization
+66.207.142.196                  #baxquux.org
+>coed.org               #Adam Pennington's Cell
+66.93.61.184                    #vice1.coed.org
+128.2.121.5                     #vice3.coed.org
+>dementia.org           #Dementia Unlimited
+128.2.12.45                     #alycia.dementia.org
+128.2.120.216                   #meredith.dementia.org
+>nimlabs.org            #Nimlabs, Ink. Cell.
+18.238.1.103                    #olfin.nimlabs.org
+18.238.1.105                    #caerbanog.nimlabs.org
+>nomh.org               #nomh.org
+205.201.8.44                    #gamma.nomh.org
+>oc7.org                #The OC7 Project
+128.2.6.107                     #vice3.oc7.org
+128.2.122.140                   #vice2.oc7.org
+>openafs.org            #OpenAFS Project
+128.2.13.199                    #new-virtue.openafs.org
+128.2.121.218                   #virtue.openafs.org
+130.237.48.87                   #andrew.e.kth.se
+130.237.48.107                  #onyx.e.kth.se
+>rhic                   #Relativistic Heavy Ion Collider
+130.199.6.51                    #rafs03.rcf.bnl.gov
+130.199.6.52                    #rafs02.rcf.bnl.gov
+130.199.6.69                    #rafs01.rcf.bnl.gov
+>e.kth.se               #Royal Institute of Technology, Elektro
+130.237.48.7                    #anden.e.kth.se
+130.237.48.8                    #sonen.e.kth.se
+130.237.48.244                  #fadern.e.kth.se
+>hallf.kth.se           #Royal Institute of Technology, HALLF
+130.237.24.141                  #rasmus13.hallf.kth.se
+130.237.24.152                  #rasmus3.hallf.kth.se
+>isk.kth.se             #Royal Institute of Technology, ISK
+130.237.202.12                  #afsdb2.isk.kth.se
+130.237.206.13                  #afsdb1.isk.kth.se
+130.237.209.141                 #afsdb3.isk.kth.se
+>it.kth.se              #Royal Institute of Technology, IT
+130.237.212.15                  #ptah.it.kth.se
+130.237.212.16                  #toth.it.kth.se
+130.237.215.7                   #isis.it.kth.se
+>md.kth.se              #Royal Institute of Technology, MMK
+130.237.57.68                   #trinity.md.kth.se
+130.237.57.72                   #morpheus.md.kth.se
+130.237.67.230                  #neo.speech.kth.se
+>mech.kth.se            #Royal Institute of Technology, MECH
+130.237.233.142                 #matterhorn.mech.kth.se
+130.237.233.143                 #castor.mech.kth.se
+130.237.233.144                 #pollux.mech.kth.se
+>nada.kth.se            #Royal Institute of Technology, NADA
+130.237.222.20                  #kosmos.nada.kth.se
+130.237.223.12                  #sputnik.nada.kth.se
+130.237.224.78                  #mir.nada.kth.se
+130.237.227.23                  #gagarin.nada.kth.se
+130.237.228.28                  #laika.nada.kth.se
+>pdc.kth.se             #Royal Institute of Technology, PDC
+130.237.232.29                  #crab.pdc.kth.se
+130.237.232.112                 #anna.pdc.kth.se
+130.237.232.114                 #hokkigai.pdc.kth.se
+>stacken.kth.se         #Stacken Computer Club
+130.237.234.3                   #milko.stacken.kth.se
+130.237.234.43                  #hot.stacken.kth.se
+130.237.237.230                 #fishburger.stacken.kth.se
+>physto.se              #Physics department Stockholm University
+130.237.205.36                  #sysafs1.physto.se
+130.237.205.72                  #sysafs2.physto.se
+>sanchin.se             #Sanchin Consulting AB, Sweden
+192.195.148.10                  #sesan.sanchin.se
+>su.se                  #Stockholm University
+130.237.162.81                  #afsdb1.su.se
+130.237.162.82                  #afsdb2.su.se
+>phy.bris.ac.uk         #Bristol University - phyics
+137.222.58.9                    #afs1.phy.bris.ac.uk
+>hep.man.ac.uk          #Manchester HEP
+194.36.2.3                      #afs1.hep.man.ac.uk
+>rl.ac.uk               #Rutherford Appleton Lab, England
+130.246.12.45                   #isabel.cc.rl.ac.uk
+130.246.15.135                  #tinkerbel.cc.rl.ac.uk
+130.246.183.164                 #wallace.cc.rl.ac.uk