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 ; Read in the environment information
11 !include ${INCLUDEDIR}\nsi-includes.nsi
12 ; Define DEBUG if building a DEBUG installer
14 ; This version compiles with NSIS v2.0
18 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__}"
20 Name "OpenAFS ${AFS_VERSION} ${__DATE__} ${__TIME__} Checked/Debug"
21 !endif ; End DEBUG/!DEBUG
24 Name "OpenAFS ${AFS_VERSION}"
26 Name "OpenAFS ${AFS_VERSION} Checked/Debug"
27 !endif ; End DEBUG/!DEBUG
29 VIProductVersion "${AFS_VERSION}.00"
30 VIAddVersionKey "ProductName" "OpenAFS"
31 VIAddVersionKey "CompanyName" "OpenAFS.org"
32 VIAddVersionKey "ProductVersion" ${AFS_VERSION}
33 VIAddVersionKey "FileVersion" ${AFS_VERSION}
34 VIAddVersionKey "FileDescription" "OpenAFS for Windows Installer"
35 VIAddVersionKey "LegalCopyright" "(C)2003"
37 VIAddVersionKey "PrivateBuild" "Checked/Debug"
44 ;--------------------------------
49 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows.exe"
51 OutFile "${AFS_DESTDIR}\WinInstall\OpenAFSforWindows-DEBUG.exe"
55 !define MUI_ICON "..\..\client_config\afs_config.ico"
56 !define MUI_UNICON "..\..\client_config\afs_config.ico"
57 !define AFS_COMPANY_NAME "OpenAFS"
58 !define AFS_PRODUCT_NAME "OpenAFS"
59 !define AFS_REGKEY_ROOT "Software\TransarcCorporation"
62 ;Folder selection page
63 InstallDir "$PROGRAMFILES\OpenAFS" ; Install to shorter path
65 ;Remember install folder
66 InstallDirRegKey HKCU ${AFS_REGKEY_ROOT} ""
68 ;Remember the installer language
69 !define MUI_LANGDLL_REGISTRY_ROOT "HKCU"
70 !define MUI_LANGDLL_REGISTRY_KEY ${AFS_REGKEY_ROOT}
71 !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language"
74 !define AFS_CLIENT_BUILDDIR "${AFS_DESTDIR}\root.client\usr\vice\etc"
75 !define AFS_WININSTALL_DIR "${AFS_DESTDIR}\WinInstall\Config"
76 !define AFS_BUILD_INCDIR "${AFS_DESTDIR}\include"
77 !define AFS_CLIENT_LIBDIR "${AFS_DESTDIR}\lib"
78 !define AFS_SERVER_BUILDDIR "${AFS_DESTDIR}\root.server\usr\afs\bin"
79 !define AFS_ETC_BUILDDIR "${AFS_DESTDIR}\etc"
80 !define SYSTEMDIR "$%SystemRoot%\System32"
82 ;--------------------------------
83 ;Modern UI Configuration
85 ;!define MUI_LICENSEPAGE
86 !define MUI_CUSTOMPAGECOMMANDS
87 !define MUI_WELCOMEPAGE
88 !define MUI_COMPONENTSPAGE
89 !define MUI_COMPONENTSPAGE_SMALLDESC
90 !define MUI_DIRECTORYPAGE
92 !define MUI_ABORTWARNING
93 !define MUI_FINISHPAGE
95 !define MUI_UNINSTALLER
96 !define MUI_UNCONFIRMPAGE
99 !insertmacro MUI_PAGE_WELCOME
100 !insertmacro MUI_PAGE_COMPONENTS
101 !insertmacro MUI_PAGE_DIRECTORY
102 Page custom AFSPageGetCellServDB
103 Page custom AFSPageGetCellName
104 !insertmacro MUI_PAGE_INSTFILES
105 !insertmacro MUI_PAGE_FINISH
107 ;LicenseData "Licenses.rtf"
108 ;--------------------------------
111 !insertmacro MUI_LANGUAGE "English"
112 ;!insertmacro MUI_LANGUAGE "French"
113 !insertmacro MUI_LANGUAGE "German"
114 !insertmacro MUI_LANGUAGE "Spanish"
115 !insertmacro MUI_LANGUAGE "SimpChinese"
116 !insertmacro MUI_LANGUAGE "TradChinese"
117 !insertmacro MUI_LANGUAGE "Japanese"
118 !insertmacro MUI_LANGUAGE "Korean"
119 ;!insertmacro MUI_LANGUAGE "Italian"
120 ;!insertmacro MUI_LANGUAGE "Dutch"
121 ;!insertmacro MUI_LANGUAGE "Danish"
122 ;!insertmacro MUI_LANGUAGE "Greek"
123 ;!insertmacro MUI_LANGUAGE "Russian"
124 !insertmacro MUI_LANGUAGE "PortugueseBR"
125 ;!insertmacro MUI_LANGUAGE "Polish"
126 ;!insertmacro MUI_LANGUAGE "Ukrainian"
127 ;!insertmacro MUI_LANGUAGE "Czech"
128 ;!insertmacro MUI_LANGUAGE "Slovak"
129 ;!insertmacro MUI_LANGUAGE "Croatian"
130 ;!insertmacro MUI_LANGUAGE "Bulgarian"
131 ;!insertmacro MUI_LANGUAGE "Hungarian"
132 ;!insertmacro MUI_LANGUAGE "Thai"
133 ;!insertmacro MUI_LANGUAGE "Romanian"
134 ;!insertmacro MUI_LANGUAGE "Macedonian"
135 ;!insertmacro MUI_LANGUAGE "Turkish"
137 ;--------------------------------
141 LangString DESC_SecCopyUI ${LANG_ENGLISH} "OpenAFS for Windows: English"
142 ;LangString DESC_SecCopyUI ${LANG_FRENCH} "OpenAFS for Windows: French"
143 LangString DESC_SecCopyUI ${LANG_GERMAN} "OpenAFS for Windows: German"
144 LangString DESC_SecCopyUI ${LANG_SPANISH} "OpenAFS for Windows: Spanish"
145 LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "OpenAFS for Windows: Simplified Chinese"
146 LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "OpenAFS for Windows: Traditional Chinese description"
147 LangString DESC_SecCopyUI ${LANG_JAPANESE} "OpenAFS for Windows: Japanese description"
148 LangString DESC_SecCopyUI ${LANG_KOREAN} "OpenAFS for Windows: Korean description"
149 ;LangString DESC_SecCopyUI ${LANG_ITALIAN} "OpenAFS for Windows: Italian description"
150 ;LangString DESC_SecCopyUI ${LANG_DUTCH} "OpenAFS for Windows: Dutch description"
151 ;LangString DESC_SecCopyUI ${LANG_DANISH} "OpenAFS for Windows: Danish description"
152 ;LangString DESC_SecCopyUI ${LANG_GREEK} "OpenAFS for Windows: Greek description"
153 ;LangString DESC_SecCopyUI ${LANG_RUSSIAN} "OpenAFS for Windows: Russian description"
154 LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} "OpenAFS for Windows: Portuguese (Brasil) description"
155 ;LangString DESC_SecCopyUI ${LANG_POLISH} "OpenAFS for Windows: Polish description"
156 ;LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "OpenAFS for Windows: Ukrainian description"
157 ;LangString DESC_SecCopyUI ${LANG_CZECH} "OpenAFS for Windows: Czechian description"
158 ;LangString DESC_SecCopyUI ${LANG_SLOVAK} "OpenAFS for Windows: Slovakian description"
159 ;LangString DESC_SecCopyUI ${LANG_CROATIAN} "OpenAFS for Windows: Slovakian description"
160 ;LangString DESC_SecCopyUI ${LANG_BULGARIAN} "OpenAFS for Windows: Bulgarian description"
161 ;LangString DESC_SecCopyUI ${LANG_HUNGARIAN} "OpenAFS for Windows: Hungarian description"
162 ;LangString DESC_SecCopyUI ${LANG_THAI} "OpenAFS for Windows: Thai description"
163 ;LangString DESC_SecCopyUI ${LANG_ROMANIAN} "OpenAFS for Windows: Romanian description"
164 ;LangString DESC_SecCopyUI ${LANG_MACEDONIAN} "OpenAFS for Windows: Macedonian description"
165 ;LangString DESC_SecCopyUI ${LANG_TURKISH} "OpenAFS for Windows: Turkish description"
167 LangString DESC_secClient ${LANG_ENGLISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
168 LangString DESC_secClient ${LANG_GERMAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
169 LangString DESC_secClient ${LANG_SPANISH} "OpenAFS Client: Allows you to access AFS from your Windows PC."
170 LangString DESC_secClient ${LANG_SIMPCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
171 LangString DESC_secClient ${LANG_TRADCHINESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
172 LangString DESC_secClient ${LANG_JAPANESE} "OpenAFS Client: Allows you to access AFS from your Windows PC."
173 LangString DESC_secClient ${LANG_KOREAN} "OpenAFS Client: Allows you to access AFS from your Windows PC."
174 LangString DESC_secClient ${LANG_PORTUGUESEBR} "OpenAFS Client: Allows you to access AFS from your Windows PC."
176 LangString DESC_secServer ${LANG_ENGLISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
177 LangString DESC_secServer ${LANG_GERMAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
178 LangString DESC_secServer ${LANG_SPANISH} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
179 LangString DESC_secServer ${LANG_SIMPCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
180 LangString DESC_secServer ${LANG_TRADCHINESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
181 LangString DESC_secServer ${LANG_JAPANESE} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
182 LangString DESC_secServer ${LANG_KOREAN} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
183 LangString DESC_secServer ${LANG_PORTUGUESEBR} "OpenAFS Server: Allows you to run an AFS file server. This option requires the AFS Client."
185 LangString DESC_secControl ${LANG_ENGLISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
186 LangString DESC_secControl ${LANG_GERMAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
187 LangString DESC_secControl ${LANG_SPANISH} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
188 LangString DESC_secControl ${LANG_SIMPCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
189 LangString DESC_secControl ${LANG_TRADCHINESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
190 LangString DESC_secControl ${LANG_JAPANESE} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
191 LangString DESC_secControl ${LANG_KOREAN} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
192 LangString DESC_secControl ${LANG_PORTUGUESEBR} "Control Center: GUI utilities for managing and configuring AFS servers. This option requires the AFS Client."
194 LangString DESC_secDocs ${LANG_ENGLISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
195 LangString DESC_secDocs ${LANG_GERMAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
196 LangString DESC_secDocs ${LANG_SPANISH} "Supplemental Documentation: Additional documentation for using OpenAFS."
197 LangString DESC_secDocs ${LANG_SIMPCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
198 LangString DESC_secDocs ${LANG_TRADCHINESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
199 LangString DESC_secDocs ${LANG_JAPANESE} "Supplemental Documentation: Additional documentation for using OpenAFS."
200 LangString DESC_secDocs ${LANG_KOREAN} "Supplemental Documentation: Additional documentation for using OpenAFS."
201 LangString DESC_secDocs ${LANG_PORTUGUESEBR} "Supplemental Documentation: Additional documentation for using OpenAFS."
203 LangString DESC_secSDK ${LANG_ENGLISH} "SDK: Header files and libraries for developing software with OpenAFS."
204 LangString DESC_secSDK ${LANG_GERMAN} "SDK: Header files and libraries for developing software with OpenAFS."
205 LangString DESC_secSDK ${LANG_SPANISH} "SDK: Header files and libraries for developing software with OpenAFS."
206 LangString DESC_secSDK ${LANG_SIMPCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
207 LangString DESC_secSDK ${LANG_TRADCHINESE} "SDK: Header files and libraries for developing software with OpenAFS."
208 LangString DESC_secSDK ${LANG_JAPANESE} "SDK: Header files and libraries for developing software with OpenAFS."
209 LangString DESC_secSDK ${LANG_KOREAN} "SDK: Header files and libraries for developing software with OpenAFS."
210 LangString DESC_secSDK ${LANG_PORTUGUESEBR} "SDK: Header files and libraries for developing software with OpenAFS."
212 ; Popup error messages
213 LangString CellError ${LANG_ENGLISH} "You must specify a valid CellServDB file to copy during install"
214 LangString CellError ${LANG_GERMAN} "You must specify a valid CellServDB file to copy during the install"
215 LangString CellError ${LANG_SPANISH} "You must specify a valid CellServDB file to copy during the install"
216 LangString CellError ${LANG_SIMPCHINESE} "You must specify a valid CellServDB file to copy during the install"
217 LangString CellError ${LANG_TRADCHINESE} "You must specify a valid CellServDB file to copy during the install"
218 LangString CellError ${LANG_JAPANESE} "You must specify a valid CellServDB file to copy during the install"
219 LangString CellError ${LANG_KOREAN} "You must specify a valid CellServDB file to copy during the install"
220 LangString CellError ${LANG_PORTUGUESEBR} "You must specify a valid CellServDB file to copy during the install"
222 LangString CellNameError ${LANG_ENGLISH} "You must specify a cell name for your client to use."
223 LangString CellNameError ${LANG_GERMAN} "You must specify a cell name for your client to use."
224 LangString CellNameError ${LANG_SPANISH} "You must specify a cell name for your client to use."
225 LangString CellNameError ${LANG_SIMPCHINESE} "You must specify a cell name for your client to use."
226 LangString CellNameError ${LANG_TRADCHINESE} "You must specify a cell name for your client to use."
227 LangString CellNameError ${LANG_JAPANESE} "You must specify a cell name for your client to use."
228 LangString CellNameError ${LANG_KOREAN} "You must specify a cell name for your client to use."
229 LangString CellNameError ${LANG_PORTUGUESEBR} "You must specify a cell name for your client to use."
231 LangString URLError ${LANG_ENGLISH} "You must specify a URL if you choose the option to download the CellServDB."
232 LangString URLError ${LANG_GERMAN} "You must specify a URL if you choose the option to download the CellServDB."
233 LangString URLError ${LANG_SPANISH} "You must specify a URL if you choose the option to download the CellServDB."
234 LangString URLError ${LANG_SIMPCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
235 LangString URLError ${LANG_TRADCHINESE} "You must specify a URL if you choose the option to download the CellServDB."
236 LangString URLError ${LANG_JAPANESE} "You must specify a URL if you choose the option to download the CellServDB."
237 LangString URLError ${LANG_KOREAN} "You must specify a URL if you choose the option to download the CellServDB."
238 LangString URLError ${LANG_PORTUGUESEBR} "You must specify a URL if you choose the option to download the CellServDB."
241 ; Upgrade/re-install strings
242 LangString UPGRADE_CLIENT ${LANG_ENGLISH} "Upgrade AFS Client"
243 LangString UPGRADE_CLIENT ${LANG_GERMAN} "Upgrade AFS Client"
244 LangString UPGRADE_CLIENT ${LANG_SPANISH} "Upgrade AFS Client"
245 LangString UPGRADE_CLIENT ${LANG_SIMPCHINESE} "Upgrade AFS Client"
246 LangString UPGRADE_CLIENT ${LANG_TRADCHINESE} "Upgrade AFS Client"
247 LangString UPGRADE_CLIENT ${LANG_JAPANESE} "Upgrade AFS Client"
248 LangString UPGRADE_CLIENT ${LANG_KOREAN} "Upgrade AFS Client"
249 LangString UPGRADE_CLIENT ${LANG_PORTUGUESEBR} "Upgrade AFS Client"
251 LangString REINSTALL_CLIENT ${LANG_ENGLISH} "Re-install AFS Client"
252 LangString REINSTALL_CLIENT ${LANG_GERMAN} "Re-install AFS Client"
253 LangString REINSTALL_CLIENT ${LANG_SPANISH} "Re-install AFS Client"
254 LangString REINSTALL_CLIENT ${LANG_SIMPCHINESE} "Re-install AFS Client"
255 LangString REINSTALL_CLIENT ${LANG_TRADCHINESE} "Re-install AFS Client"
256 LangString REINSTALL_CLIENT ${LANG_JAPANESE} "Re-install AFS Client"
257 LangString REINSTALL_CLIENT ${LANG_KOREAN} "Re-install AFS Client"
258 LangString REINSTALL_CLIENT ${LANG_PORTUGUESEBR} "Re-install AFS Client"
260 LangString UPGRADE_SERVER ${LANG_ENGLISH} "Upgrade AFS Server"
261 LangString UPGRADE_SERVER ${LANG_GERMAN} "Upgrade AFS Server"
262 LangString UPGRADE_SERVER ${LANG_SPANISH} "Upgrade AFS Server"
263 LangString UPGRADE_SERVER ${LANG_SIMPCHINESE} "Upgrade AFS Server"
264 LangString UPGRADE_SERVER ${LANG_TRADCHINESE} "Upgrade AFS Server"
265 LangString UPGRADE_SERVER ${LANG_JAPANESE} "Upgrade AFS Server"
266 LangString UPGRADE_SERVER ${LANG_KOREAN} "Upgrade AFS Server"
267 LangString UPGRADE_SERVER ${LANG_PORTUGUESEBR} "Upgrade AFS Server"
269 LangString REINSTALL_SERVER ${LANG_ENGLISH} "Re-install AFS Server"
270 LangString REINSTALL_SERVER ${LANG_GERMAN} "Re-install AFS Server"
271 LangString REINSTALL_SERVER ${LANG_SPANISH} "Re-install AFS Server"
272 LangString REINSTALL_SERVER ${LANG_SIMPCHINESE} "Re-install AFS Server"
273 LangString REINSTALL_SERVER ${LANG_TRADCHINESE} "Re-install AFS Server"
274 LangString REINSTALL_SERVER ${LANG_JAPANESE} "Re-install AFS Server"
275 LangString REINSTALL_SERVER ${LANG_KOREAN} "Re-install AFS Server"
276 LangString REINSTALL_SERVER ${LANG_PORTUGUESEBR} "Re-install AFS Server"
278 ReserveFile "CellServPage.ini"
279 ReserveFile "AFSCell.ini"
280 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
281 !insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
282 ;--------------------------------
284 ; Macro - Upgrade DLL File
285 ; Written by Joost Verburg
286 ; ------------------------
289 ; LOCALFILE - Location of the new DLL file (on the compiler system)
290 ; DESTFILE - Location of the DLL file that should be upgraded
291 ; (on the user's system)
292 ; TEMPBASEDIR - Directory on the user's system to store a temporary file
293 ; when the system has to be rebooted.
294 ; For Win9x support, this should be on the same volume as the
296 ; The Windows temp directory could be located on any volume,
297 ; so you cannot use this directory.
299 ; Define UPGRADEDLL_NOREGISTER if you want to upgrade a DLL that does not
300 ; have to be registered.
302 ; Note: If you want to support Win9x, you can only use
303 ; short filenames (8.3).
306 ; !insertmacro UpgradeDLL "dllname.dll" "$SYSDIR\dllname.dll" "$SYSDIR"
309 !macro UpgradeDLL LOCALFILE DESTFILE TEMPBASEDIR
318 ;------------------------
319 ;Unique number for labels
321 !define UPGRADEDLL_UNIQUE ${__LINE__}
323 ;------------------------
324 ;Copy the parameters used on run-time to a variable
325 ;This allows the usage of variables as paramter
327 StrCpy $R4 "${DESTFILE}"
328 StrCpy $R5 "${TEMPBASEDIR}"
330 ;------------------------
331 ;Check file and version
333 IfFileExists $R4 0 upgradedll.copy_${UPGRADEDLL_UNIQUE}
336 GetDLLVersionLocal "${LOCALFILE}" $R0 $R1
337 GetDLLVersion $R4 $R2 $R3
338 IfErrors upgradedll.upgrade_${UPGRADEDLL_UNIQUE}
340 IntCmpU $R0 $R2 0 upgradedll.done_${UPGRADEDLL_UNIQUE} \
341 upgradedll.upgrade_${UPGRADEDLL_UNIQUE}
342 IntCmpU $R1 $R3 upgradedll.done_${UPGRADEDLL_UNIQUE} \
343 upgradedll.done_${UPGRADEDLL_UNIQUE} \
344 upgradedll.upgrade_${UPGRADEDLL_UNIQUE}
346 ;------------------------
347 ;Let's upgrade the DLL!
351 upgradedll.upgrade_${UPGRADEDLL_UNIQUE}:
352 !ifndef UPGRADEDLL_NOREGISTER
357 ;------------------------
358 ;Try to copy the DLL directly
362 Call :upgradedll.file_${UPGRADEDLL_UNIQUE}
363 IfErrors 0 upgradedll.noreboot_${UPGRADEDLL_UNIQUE}
365 ;------------------------
366 ;DLL is in use. Copy it to a temp file and Rename it on reboot.
368 GetTempFileName $R0 $R5
369 Call :upgradedll.file_${UPGRADEDLL_UNIQUE}
370 Rename /REBOOTOK $R0 $R4
372 ;------------------------
373 ;Register the DLL on reboot
375 !ifndef UPGRADEDLL_NOREGISTER
376 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\RunOnce" \
377 "Register $R4" 'rundll32.exe "$R4",DllRegisterServer'
380 Goto upgradedll.done_${UPGRADEDLL_UNIQUE}
382 ;------------------------
383 ;DLL does not exist - just extract
385 upgradedll.copy_${UPGRADEDLL_UNIQUE}:
387 Call :upgradedll.file_${UPGRADEDLL_UNIQUE}
389 ;------------------------
392 upgradedll.noreboot_${UPGRADEDLL_UNIQUE}:
393 !ifndef UPGRADEDLL_NOREGISTER
397 ;------------------------
400 upgradedll.done_${UPGRADEDLL_UNIQUE}:
409 ;------------------------
412 Goto upgradedll.end_${UPGRADEDLL_UNIQUE}
414 ;------------------------
415 ;Called to extract the DLL
417 upgradedll.file_${UPGRADEDLL_UNIQUE}:
418 File /oname=$R0 "${LOCALFILE}"
421 upgradedll.end_${UPGRADEDLL_UNIQUE}:
423 ;------------------------
426 SetOverwrite lastused
428 !undef UPGRADEDLL_UNIQUE
433 ;--------------------------------
436 ;Things that need to be extracted on first (keep these lines before any File command!)
437 ;Only useful for BZIP2 compression
438 !insertmacro MUI_RESERVEFILE_LANGDLL
441 ;--------------------------------
444 ;----------------------
446 Section "AFS Client" secClient
448 SetShellVarContext all
449 ; Stop any running services or we can't replace the files
450 ; Stop the running processes
452 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
453 nsExec::Exec '$R0 afscreds.exe'
454 nsExec::Exec "afscreds.exe -z"
456 ;nsExec::Exec '$R0 krbcc32s.exe'
459 nsExec::Exec "net stop TransarcAFSDaemon"
460 nsExec::Exec "net stop TransarcAFSServer"
462 ; Do client components
463 SetOutPath "$INSTDIR\Client\Program"
464 File "${AFS_CLIENT_BUILDDIR}\afsshare.exe"
465 !define UPGRADEDLL_NOREGISTER
466 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\libosi.dll" "$INSTDIR\Client\Program\libosi.dll" "$INSTDIR"
467 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\libafsconf.dll" "$INSTDIR\Client\Program\libafsconf.dll" "$INSTDIR"
468 File "${AFS_CLIENT_BUILDDIR}\klog.exe"
469 File "${AFS_CLIENT_BUILDDIR}\tokens.exe"
470 File "${AFS_CLIENT_BUILDDIR}\unlog.exe"
471 File "${AFS_CLIENT_BUILDDIR}\fs.exe"
472 File "${AFS_CLIENT_BUILDDIR}\afscreds.exe"
473 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.dll" "$INSTDIR\Client\Program\afs_shl_ext.dll" "$INSTDIR"
474 File "${AFS_BUILD_INCDIR}\afs\auth.h"
475 File "${AFS_CLIENT_BUILDDIR}\afsd_service.exe"
476 !insertmacro UpgradeDLL "${AFS_CLIENT_BUILDDIR}\afslogon.dll" "$INSTDIR\Client\Program\afslogon.dll" "$INSTDIR"
477 File "${AFS_CLIENT_BUILDDIR}\symlink.exe"
478 File "${AFS_DESTDIR}\bin\kpasswd.exe"
479 File "${AFS_SERVER_BUILDDIR}\pts.exe"
480 File "${AFS_SERVER_BUILDDIR}\bos.exe"
481 File "${AFS_SERVER_BUILDDIR}\kas.exe"
482 File "${AFS_SERVER_BUILDDIR}\vos.exe"
483 File "${AFS_SERVER_BUILDDIR}\udebug.exe"
484 File "${AFS_DESTDIR}\bin\translate_et.exe"
485 File "${AFS_DESTDIR}\etc\rxdebug.exe"
486 File "${AFS_DESTDIR}\etc\backup.exe"
489 File "${AFS_CLIENT_BUILDDIR}\afsshare.pdb"
490 File "${AFS_CLIENT_BUILDDIR}\libosi.pdb"
491 File "${AFS_CLIENT_BUILDDIR}\libafsconf.pdb"
492 File "${AFS_CLIENT_BUILDDIR}\klog.pdb"
493 File "${AFS_CLIENT_BUILDDIR}\tokens.pdb"
494 File "${AFS_CLIENT_BUILDDIR}\unlog.pdb"
495 File "${AFS_CLIENT_BUILDDIR}\fs.pdb"
496 File "${AFS_CLIENT_BUILDDIR}\afscreds.pdb"
497 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext.pdb"
498 File "${AFS_CLIENT_BUILDDIR}\afsd_service.pdb"
499 File "${AFS_CLIENT_BUILDDIR}\afslogon.pdb"
500 File "${AFS_CLIENT_BUILDDIR}\symlink.pdb"
501 File "${AFS_DESTDIR}\bin\kpasswd.pdb"
502 ;File "${AFS_SERVER_BUILDDIR}\pts.pdb"
503 File "${AFS_SERVER_BUILDDIR}\bos.pdb"
504 File "${AFS_SERVER_BUILDDIR}\kas.pdb"
505 File "${AFS_SERVER_BUILDDIR}\vos.pdb"
506 File "${AFS_SERVER_BUILDDIR}\udebug.pdb"
507 File "${AFS_DESTDIR}\bin\translate_et.pdb"
508 File "${AFS_DESTDIR}\etc\rxdebug.pdb"
509 File "${AFS_DESTDIR}\etc\backup.pdb"
517 ; Do WINDOWSDIR components
519 ; Do Windows SYSDIR (Control panel)
521 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.cpl"
523 File "${AFS_CLIENT_BUILDDIR}\afs_cpa.pdb"
526 ; Get AFS CellServDB file
527 Call afs.GetCellServDB
528 !ifdef INSTALL_LOOPBACK
529 Call afs.InstallMSLoopback
533 ; Include Kerberos for Windows files in the installer...
534 SetOutPath "$INSTDIR\kfw\bin\"
535 File "${KFW_SOURCE}\bin\*"
536 SetOutPath "$INSTDIR\kfw\doc"
537 File "${KFW_SOURCE}\doc\*"
540 ;Store install folder
541 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\Client" "" $INSTDIR
542 Call AFSCommon.Install
544 ; Write registry entries
545 WriteRegStr HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
546 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "" "AFS Client Shell Extension"
547 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "" "$INSTDIR\Client\Program\afs_shl_ext.dll"
548 WriteRegStr HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32" "ThreadingModel" "Apartment"
549 WriteRegStr HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension" "" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
550 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}" "AFS Client Shell Extension"
553 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
554 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "VersionString" ${AFS_VERSION}
555 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Title" "AFS Client"
556 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Description" "AFS Client"
557 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName" "$INSTDIR\Client\Program"
558 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Software Type" "File System"
559 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
560 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
561 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
562 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
563 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Title" "AFS Client"
564 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Description" "AFS Client"
565 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Software Type" "File System"
566 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PathName" "$INSTDIR\Client\Program"
567 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
568 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
569 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
571 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug" 1
572 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug" 1
574 ; Delete the DEBUG string
575 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "Debug"
576 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Client\${AFS_VERSION}" "Debug"
579 ; On Windows 2000 work around KB301673. This is fixed in Windows XP and 2003
580 Call GetWindowsVersion
582 StrCmp $R1 "2000" +1 +2
583 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled" 0
585 ;Write start menu entries
586 CreateDirectory "$SMPROGRAMS\OpenAFS\Client"
587 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
588 CreateShortCut "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk" "$INSTDIR\Client\Program\afscreds.exe" "-A -M -N -Q"
589 CreateShortCut "$SMSTARTUP\AFS Credentials.lnk" "$INSTDIR\Client\Program\afscreds.exe" "-A -M -N -Q"
591 Push "$INSTDIR\Client\Program"
593 Push "$INSTDIR\Common"
597 ; Add kfw to path too
598 Push "$INSTDIR\kfw\bin"
602 ; Create the AFS service
603 SetOutPath "$INSTDIR\Common"
604 File "${AFS_WININSTALL_DIR}\Service.exe"
605 nsExec::Exec "net stop TransarcAFSDaemon"
606 ;IMPORTANT! If we are not refreshing the config files, do NOT remove the service
607 ;Don't re-install because it must be present or we wouldn't have passed the Reg check
609 ReadRegStr $R2 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "Cell"
610 StrCmp $R2 "" +1 skipremove
611 nsExec::Exec '$INSTDIR\Common\Service.exe u TransarcAFSDaemon'
612 nsExec::Exec '$INSTDIR\Common\Service.exe TransarcAFSDaemon "$INSTDIR\Client\Program\afsd_service.exe" "OpenAFS Client Service"'
614 Delete "$INSTDIR\Common\service.exe"
617 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "(Default)" ""
618 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "AuthentProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
619 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Class" 2
620 ReadINIStr $R0 $1 "Field 7" "State"
621 ReadINIStr $R1 $1 "Field 9" "State"
622 ; Complicated way to do $R1 = ($R1 *2) + $R0
625 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonOptions" $R1
626 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "LogonScript" "$INSTDIR\Client\Program\afscreds.exe -:%s -x"
627 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "Name" "OpenAFSDaemon"
628 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider" "ProviderPath" "$INSTDIR\Client\Program\afslogon.dll"
631 ReadINIStr $R0 $1 "Field 2" "State"
632 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell" $R0
633 ReadINIStr $R0 $1 "Field 3" "State"
634 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "ShowTrayIcon" 1
635 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "SecurityLevel" $R0
636 ReadINIStr $R0 $1 "Field 5" "State"
637 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "FreelanceClient" $R0
638 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "UseDNS" 1
639 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NetbiosName" "AFS"
640 WriteRegStr HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "MountRoot" "/afs"
641 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "RxMaxMTU" 1200
643 WriteRegDWORD HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "NoFindLanaByName" 1
647 WriteUninstaller "$INSTDIR\Uninstall.exe"
651 ;------------------------
653 Section "AFS Server" secServer
655 SetShellVarContext all
656 ; Stop any running services or we can't replace the files
657 ; Stop the running processes
659 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe" ; Might not have the MSVCR71.DLL file to run
660 nsExec::Exec '$R0 afscreds.exe'
661 nsExec::Exec "afscreds.exe -z"
663 ;nsExec::Exec '$R0 krbcc32s.exe'
666 nsExec::Exec "net stop TransarcAFSDaemon"
667 nsExec::Exec "net stop TransarcAFSServer"
669 CreateDirectory "$INSTDIR\Server\usr\afs\etc"
670 CreateDirectory "$INSTDIR\Server\usr\afs\local"
671 CreateDirectory "$INSTDIR\Server\usr\afs\etc\logs"
673 SetOutPath "$INSTDIR\Server\usr\afs\bin"
674 File "${AFS_SERVER_BUILDDIR}\afskill.exe"
675 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.exe"
676 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.exe"
677 File "${AFS_SERVER_BUILDDIR}\bosserver.exe"
678 File "${AFS_SERVER_BUILDDIR}\buserver.exe"
679 File "${AFS_ETC_BUILDDIR}\butc.exe"
680 File "${AFS_SERVER_BUILDDIR}\fileserver.exe"
681 File "${AFS_ETC_BUILDDIR}\fms.exe"
682 File "${AFS_SERVER_BUILDDIR}\kaserver.exe"
683 File "${AFS_SERVER_BUILDDIR}\ptserver.exe"
684 File "${AFS_SERVER_BUILDDIR}\salvager.exe"
685 File "${AFS_SERVER_BUILDDIR}\upclient.exe"
686 File "${AFS_SERVER_BUILDDIR}\upserver.exe"
687 File "${AFS_SERVER_BUILDDIR}\vlserver.exe"
688 File "${AFS_SERVER_BUILDDIR}\volinfo.exe"
689 File "${AFS_SERVER_BUILDDIR}\volserver.exe"
692 File "${AFS_SERVER_BUILDDIR}\afskill.pdb"
693 File "${AFS_SERVER_BUILDDIR}\afssvrcfg.pdb"
694 File "${AFS_SERVER_BUILDDIR}\bosctlsvc.pdb"
695 File "${AFS_SERVER_BUILDDIR}\bosserver.pdb"
696 File "${AFS_SERVER_BUILDDIR}\buserver.pdb"
697 File "${AFS_ETC_BUILDDIR}\butc.pdb"
698 File "${AFS_SERVER_BUILDDIR}\fileserver.pdb"
699 File "${AFS_ETC_BUILDDIR}\fms.pdb"
700 File "${AFS_SERVER_BUILDDIR}\kaserver.pdb"
701 File "${AFS_SERVER_BUILDDIR}\ptserver.pdb"
702 File "${AFS_SERVER_BUILDDIR}\salvager.pdb"
703 File "${AFS_SERVER_BUILDDIR}\upclient.pdb"
704 File "${AFS_SERVER_BUILDDIR}\upserver.pdb"
705 File "${AFS_SERVER_BUILDDIR}\vlserver.pdb"
706 File "${AFS_SERVER_BUILDDIR}\volinfo.pdb"
707 File "${AFS_SERVER_BUILDDIR}\volserver.pdb"
710 ;AFS Server common files
711 SetOutPath "$INSTDIR\Common"
712 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
713 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
714 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
715 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
716 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
719 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
720 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
721 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
722 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
723 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
725 SetOutPath "$INSTDIR\Common"
729 File "${AFS_SERVER_BUILDDIR}\afsserver.cpl"
732 File "${AFS_SERVER_BUILDDIR}\afsserver.pdb"
735 ;Store install folder
736 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Server" "" $INSTDIR
738 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
739 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "VersionString" ${AFS_VERSION}
740 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Title" "AFS Server"
741 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Description" "AFS Server for Windows"
742 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName" "$INSTDIR\Server"
743 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Software Type" "File System"
744 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
745 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
746 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
747 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
748 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Title" "AFS Server"
749 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Description" "AFS Server for Windows"
750 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Software Type" "File System"
751 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PathName" "$INSTDIR\Server"
752 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
753 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
754 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
756 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug" 1
757 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug" 1
759 ; Delete the DEBUG string
760 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "Debug"
761 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Server\${AFS_VERSION}" "Debug"
763 ; Install the service
764 SetOutPath "$INSTDIR\Common"
765 File "${AFS_WININSTALL_DIR}\Service.exe"
767 File "${AFS_WININSTALL_DIR}\Service.pdb"
769 ;Don't want to whack existing settings... Make users un-install and then re-install if they want that
770 ;nsExec::Exec '$INSTDIR\Common\service.exe u TransarcAFSServer'
771 nsExec::Exec '$INSTDIR\Common\service.exe TransarcAFSServer "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe" "OpenAFS AFS Server"'
772 Delete "$INSTDIR\Common\service.exe"
774 CreateDirectory "$SMPROGRAMS\OpenAFS\Server"
775 CreateShortCut "$SMPROGRAMS\OpenAFS\Server\Server Configuration.lnk" "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
777 ; Make the server config wizard auto-start on bootup
778 WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "AFS Server Wizard" '"$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe" /wizard"'
780 WriteUninstaller "$INSTDIR\Uninstall.exe"
785 ;----------------------------
786 ; OpenAFS Control Center
787 Section "AFS Control Center" secControl
789 SetShellVarContext all
791 SetOutPath "$INSTDIR\Control Center"
792 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.exe"
793 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.exe"
794 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.exe"
797 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager.pdb"
798 File "${AFS_SERVER_BUILDDIR}\TaAfsAdmSvr.pdb"
799 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager.pdb"
802 ;AFS Server common files
803 Call AFSCommon.Install
805 SetOutPath "$INSTDIR\Common"
807 SetOutPath "$INSTDIR\Common"
810 File "${SYSTEMDIR}\msvcr71d.dll"
811 File "${SYSTEMDIR}\msvcr71d.pdb"
812 File "${SYSTEMDIR}\msvcp71d.dll"
813 File "${SYSTEMDIR}\msvcp71d.pdb"
814 File "${SYSTEMDIR}\mfc71d.dll"
815 File "${SYSTEMDIR}\mfc71d.pdb"
816 File "${SYSTEMDIR}\MFC71CHS.DLL"
817 File "${SYSTEMDIR}\MFC71CHT.DLL"
818 File "${SYSTEMDIR}\MFC71DEU.DLL"
819 File "${SYSTEMDIR}\MFC71ENU.DLL"
820 File "${SYSTEMDIR}\MFC71ESP.DLL"
821 File "${SYSTEMDIR}\MFC71FRA.DLL"
822 File "${SYSTEMDIR}\MFC71ITA.DLL"
823 File "${SYSTEMDIR}\MFC71JPN.DLL"
824 File "${SYSTEMDIR}\MFC71KOR.DLL"
827 File "${SYSTEMDIR}\msvcr70d.dll"
828 File "${SYSTEMDIR}\msvcr70d.pdb"
829 File "${SYSTEMDIR}\msvcp70d.dll"
830 File "${SYSTEMDIR}\msvcp70d.pdb"
831 File "${SYSTEMDIR}\mfc70d.dll"
832 File "${SYSTEMDIR}\mfc70d.pdb"
833 File "${SYSTEMDIR}\MFC70CHS.DLL"
834 File "${SYSTEMDIR}\MFC70CHT.DLL"
835 File "${SYSTEMDIR}\MFC70DEU.DLL"
836 File "${SYSTEMDIR}\MFC70ENU.DLL"
837 File "${SYSTEMDIR}\MFC70ESP.DLL"
838 File "${SYSTEMDIR}\MFC70FRA.DLL"
839 File "${SYSTEMDIR}\MFC70ITA.DLL"
840 File "${SYSTEMDIR}\MFC70JPN.DLL"
841 File "${SYSTEMDIR}\MFC70KOR.DLL"
843 File "${SYSTEMDIR}\mfc42d.dll"
844 File "${SYSTEMDIR}\mfc42d.pdb"
845 File "${SYSTEMDIR}\msvcp60d.dll"
846 File "${SYSTEMDIR}\msvcp60d.pdb"
847 File "${SYSTEMDIR}\msvcrtd.dll"
848 File "${SYSTEMDIR}\msvcrtd.pdb"
853 File "${SYSTEMDIR}\mfc71.dll"
854 File "${SYSTEMDIR}\msvcr71.dll"
855 File "${SYSTEMDIR}\msvcp71.dll"
856 File "${SYSTEMDIR}\MFC71CHS.DLL"
857 File "${SYSTEMDIR}\MFC71CHT.DLL"
858 File "${SYSTEMDIR}\MFC71DEU.DLL"
859 File "${SYSTEMDIR}\MFC71ENU.DLL"
860 File "${SYSTEMDIR}\MFC71ESP.DLL"
861 File "${SYSTEMDIR}\MFC71FRA.DLL"
862 File "${SYSTEMDIR}\MFC71ITA.DLL"
863 File "${SYSTEMDIR}\MFC71JPN.DLL"
864 File "${SYSTEMDIR}\MFC71KOR.DLL"
867 File "${SYSTEMDIR}\mfc70.dll"
868 File "${SYSTEMDIR}\msvcr70.dll"
869 File "${SYSTEMDIR}\msvcp70.dll"
870 File "${SYSTEMDIR}\MFC70CHS.DLL"
871 File "${SYSTEMDIR}\MFC70CHT.DLL"
872 File "${SYSTEMDIR}\MFC70DEU.DLL"
873 File "${SYSTEMDIR}\MFC70ENU.DLL"
874 File "${SYSTEMDIR}\MFC70ESP.DLL"
875 File "${SYSTEMDIR}\MFC70FRA.DLL"
876 File "${SYSTEMDIR}\MFC70ITA.DLL"
877 File "${SYSTEMDIR}\MFC70JPN.DLL"
878 File "${SYSTEMDIR}\MFC70KOR.DLL"
880 File "${SYSTEMDIR}\mfc42.dll"
881 File "${SYSTEMDIR}\msvcp60.dll"
882 File "${SYSTEMDIR}\msvcrt.dll"
886 ;Store install folder
887 WriteRegStr HKCU "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName" $INSTDIR
888 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "VersionString" ${AFS_VERSION}
889 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
890 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
891 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
892 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
893 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
894 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
895 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
897 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug" 1
898 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug" 1
900 ; Delete the DEBUG string
901 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "Debug"
902 DeleteRegValue HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\${AFS_VERSION}" "Debug"
905 ;Write start menu entries
906 CreateDirectory "$SMPROGRAMS\OpenAFS\Control Center"
907 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk" "$INSTDIR\Control Center\TaAfsAccountManager.exe"
908 CreateShortCut "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk" "$INSTDIR\Control Center\TaAfsServerManager.exe"
910 WriteUninstaller "$INSTDIR\Uninstall.exe"
915 ;----------------------------
916 ; OpenAFS Supplemental Documentation
917 Section "Supplemental Documentation" secDocs
918 SetShellVarContext all
920 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
921 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
922 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
923 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
924 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
925 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
926 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
927 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
931 SetOutPath "$INSTDIR\Documentation\html"
932 File "..\..\doc\install\Documentation\en_US\html\*"
933 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
934 File "..\..\doc\install\Documentation\en_US\html\CmdRef\*"
935 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
936 File "..\..\doc\install\Documentation\en_US\html\InstallGd\*"
937 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
938 File "..\..\doc\install\Documentation\en_US\html\ReleaseNotes\*"
939 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
940 File "..\..\doc\install\Documentation\en_US\html\SysAdminGd\*"
944 SetOutPath "$INSTDIR\Documentation"
945 File "..\..\doc\install\Documentation\de_DE\README.TXT"
946 SetOutPath "$INSTDIR\Documentation\html"
947 File "..\..\doc\install\Documentation\de_DE\html\*"
948 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
949 ;File "..\..\doc\install\Documentation\de_DE\html\CmdRef\*"
950 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
951 File "..\..\doc\install\Documentation\de_DE\html\InstallGd\*"
952 ;SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
953 ;File "..\..\doc\install\Documentation\de_DE\html\ReleaseNotes\*"
954 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
955 ;File "..\..\doc\install\Documentation\de_DE\html\SysAdminGd\*"
959 SetOutPath "$INSTDIR\Documentation"
960 File "..\..\doc\install\Documentation\es_ES\README.TXT"
961 SetOutPath "$INSTDIR\Documentation\html"
962 File "..\..\doc\install\Documentation\es_ES\html\*"
963 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
964 ;File "..\..\doc\install\Documentation\es_ES\html\CmdRef\*"
965 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
966 ;File "..\..\doc\install\Documentation\es_ES\html\InstallGd\*"
967 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
968 ;File "..\..\doc\install\Documentation\es_ES\html\ReleaseNotes\*"
969 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
970 ;File "..\..\doc\install\Documentation\es_ES\html\SysAdminGd\*"
974 SetOutPath "$INSTDIR\Documentation"
975 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
976 SetOutPath "$INSTDIR\Documentation\html"
977 File "..\..\doc\install\Documentation\ja_JP\html\*"
978 SetOutPath "$INSTDIR\Documentation\html\CmdRef"
979 File "..\..\doc\install\Documentation\ja_JP\html\CmdRef\*"
980 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
981 File "..\..\doc\install\Documentation\ja_JP\html\InstallGd\*"
982 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
983 ;File "..\..\doc\install\Documentation\ja_JP\html\ReleaseNotes\*"
984 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
985 ;File "..\..\doc\install\Documentation\ja_JP\html\SysAdminGd\*"
989 SetOutPath "$INSTDIR\Documentation"
990 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
991 SetOutPath "$INSTDIR\Documentation\html"
992 File "..\..\doc\install\Documentation\ko_KR\html\*"
993 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
994 ;File "..\..\doc\install\Documentation\ko_KR\html\CmdRef\*"
995 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
996 File "..\..\doc\install\Documentation\ko_KR\html\InstallGd\*"
997 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
998 File "..\..\doc\install\Documentation\ko_KR\html\ReleaseNotes\*"
999 SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1000 File "..\..\doc\install\Documentation\ko_KR\html\SysAdminGd\*"
1004 SetOutPath "$INSTDIR\Documentation"
1005 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
1006 SetOutPath "$INSTDIR\Documentation\html"
1007 File "..\..\doc\install\Documentation\pt_BR\html\*"
1008 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1009 ;File "..\..\doc\install\Documentation\pt_BR\html\CmdRef\*"
1010 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1011 File "..\..\doc\install\Documentation\pt_BR\html\InstallGd\*"
1012 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1013 File "..\..\doc\install\Documentation\pt_BR\html\ReleaseNotes\*"
1014 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1015 ;File "..\..\doc\install\Documentation\pt_BR\html\SysAdminGd\*"
1019 SetOutPath "$INSTDIR\Documentation"
1020 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
1021 SetOutPath "$INSTDIR\Documentation\html"
1022 File "..\..\doc\install\Documentation\zh_CN\html\*"
1023 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1024 ;File "..\..\doc\install\Documentation\zh_CN\html\CmdRef\*"
1025 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1026 File "..\..\doc\install\Documentation\zh_CN\html\InstallGd\*"
1027 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1028 File "..\..\doc\install\Documentation\zh_CN\html\ReleaseNotes\*"
1029 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1030 ;File "..\..\doc\install\Documentation\zh_CN\html\SysAdminGd\*"
1034 SetOutPath "$INSTDIR\Documentation"
1035 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
1036 SetOutPath "$INSTDIR\Documentation\html"
1037 File "..\..\doc\install\Documentation\zh_TW\html\*"
1038 ;SetOutPath "$INSTDIR\Documentation\html\CmdRef"
1039 ;File "..\..\doc\install\Documentation\zh_TW\html\CmdRef\*"
1040 SetOutPath "$INSTDIR\Documentation\html\InstallGd"
1041 File "..\..\doc\install\Documentation\zh_TW\html\InstallGd\*"
1042 SetOutPath "$INSTDIR\Documentation\html\ReleaseNotes"
1043 File "..\..\doc\install\Documentation\zh_TW\html\ReleaseNotes\*"
1044 ;SetOutPath "$INSTDIR\Documentation\html\SysAdminGd"
1045 ;File "..\..\doc\install\Documentation\zh_TW\html\SysAdminGd\*"
1050 ;Store install folder
1051 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation" "" $INSTDIR
1052 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "VersionString" ${AFS_VERSION}
1053 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1054 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1055 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1056 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1057 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1058 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1059 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1061 ; Write start menu shortcut
1062 SetOutPath "$SMPROGRAMS\OpenAFS"
1063 CreateShortCut "$SMPROGRAMS\OpenAFS\Documentation.lnk" "$INSTDIR\Documentation\html\index.htm"
1066 WriteUninstaller "$INSTDIR\Uninstall.exe"
1067 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1068 Call AFSCommon.Install
1072 Section "Software Development Kit (SDK)" secSDK
1074 SetOutPath "$INSTDIR\Client\Program"
1076 File "${AFS_BUILD_INCDIR}\afs\cm_config.h"
1077 File "${AFS_BUILD_INCDIR}\afs\kautils.h"
1078 File "${AFS_CLIENT_LIBDIR}\libafsconf.lib"
1079 File "${AFS_CLIENT_LIBDIR}\afsauthent.lib"
1082 SetOutPath "$INSTDIR\Client\Program\Include"
1083 File "${AFS_BUILD_INCDIR}\lock.h"
1084 File "${AFS_BUILD_INCDIR}\lwp.h"
1085 File "${AFS_BUILD_INCDIR}\preempt.h"
1086 File "${AFS_BUILD_INCDIR}\timer.h"
1087 File "${AFS_BUILD_INCDIR}\des.h"
1088 File "${AFS_BUILD_INCDIR}\des_conf.h"
1089 File "${AFS_BUILD_INCDIR}\mit-cpyright.h"
1090 ;File "${AFS_BUILD_INCDIR}\des-odd.h"
1091 File "${AFS_BUILD_INCDIR}\crypt.h"
1092 File "${AFS_BUILD_INCDIR}\pthread.h"
1093 File "${AFS_BUILD_INCDIR}\dbrpc.h"
1094 File "${AFS_BUILD_INCDIR}\basic.h"
1095 File "${AFS_BUILD_INCDIR}\osidebug.h"
1096 File "${AFS_BUILD_INCDIR}\osiltype.h"
1097 File "${AFS_BUILD_INCDIR}\osistatl.h"
1098 File "${AFS_BUILD_INCDIR}\trylock.h"
1099 File "${AFS_BUILD_INCDIR}\main.h"
1100 File "${AFS_BUILD_INCDIR}\osibasel.h"
1101 File "${AFS_BUILD_INCDIR}\osifd.h"
1102 File "${AFS_BUILD_INCDIR}\osiqueue.h"
1103 File "${AFS_BUILD_INCDIR}\osiutils.h"
1104 File "${AFS_BUILD_INCDIR}\osi.h"
1105 File "${AFS_BUILD_INCDIR}\osidb.h"
1106 File "${AFS_BUILD_INCDIR}\osilog.h"
1107 File "${AFS_BUILD_INCDIR}\osisleep.h"
1108 File "${AFS_BUILD_INCDIR}\perf.h"
1109 File "${AFS_BUILD_INCDIR}\ubik.h"
1110 File "${AFS_BUILD_INCDIR}\ubik_int.h"
1114 SetOutPath "$INSTDIR\Client\Program\Include\afs"
1115 File "${AFS_BUILD_INCDIR}\afs\afs_args.h"
1116 File "${AFS_BUILD_INCDIR}\afs\debug.h"
1117 File "${AFS_BUILD_INCDIR}\afs\param.h"
1118 File "${AFS_BUILD_INCDIR}\afs\afs_sysnames.h"
1119 ;File "${AFS_BUILD_INCDIR}\afs\permit_xprt.h"
1120 File "${AFS_BUILD_INCDIR}\afs\stds.h"
1121 File "${AFS_BUILD_INCDIR}\afs\icl.h"
1122 File "${AFS_BUILD_INCDIR}\afs\procmgmt.h"
1123 File "${AFS_BUILD_INCDIR}\afs\afsutil.h"
1124 File "${AFS_BUILD_INCDIR}\afs\assert.h"
1125 File "${AFS_BUILD_INCDIR}\afs\dirent.h"
1126 File "${AFS_BUILD_INCDIR}\afs\errors.h"
1127 File "${AFS_BUILD_INCDIR}\afs\itc.h"
1128 File "${AFS_BUILD_INCDIR}\afs\vice.h"
1129 File "${AFS_BUILD_INCDIR}\afs\pthread_glock.h"
1130 File "${AFS_BUILD_INCDIR}\afs\errmap_nt.h"
1131 File "${AFS_BUILD_INCDIR}\afs\dirpath.h"
1132 File "${AFS_BUILD_INCDIR}\afs\ktime.h"
1133 File "${AFS_BUILD_INCDIR}\afs\fileutil.h"
1134 File "${AFS_BUILD_INCDIR}\afs\secutil_nt.h"
1135 File "${AFS_BUILD_INCDIR}\afs\com_err.h"
1136 File "${AFS_BUILD_INCDIR}\afs\error_table.h"
1137 ;File "${AFS_BUILD_INCDIR}\afs\mit_sipb-cr.h"
1138 File "${AFS_BUILD_INCDIR}\afs\cmd.h"
1139 File "${AFS_BUILD_INCDIR}\afs\rxgen_consts.h"
1140 File "${AFS_BUILD_INCDIR}\afs\afsint.h"
1141 File "${AFS_BUILD_INCDIR}\afs\afscbint.h"
1142 File "${AFS_BUILD_INCDIR}\afs\audit.h"
1143 File "${AFS_BUILD_INCDIR}\afs\acl.h"
1144 File "${AFS_BUILD_INCDIR}\afs\prs_fs.h"
1145 File "${AFS_BUILD_INCDIR}\afs\afsd.h"
1146 File "${AFS_BUILD_INCDIR}\afs\cm.h"
1147 File "${AFS_BUILD_INCDIR}\afs\cm_buf.h"
1148 File "${AFS_BUILD_INCDIR}\afs\cm_cell.h"
1149 File "${AFS_BUILD_INCDIR}\afs\cm_config.h"
1150 File "${AFS_BUILD_INCDIR}\afs\cm_conn.h"
1151 File "${AFS_BUILD_INCDIR}\afs\cm_ioctl.h"
1152 File "${AFS_BUILD_INCDIR}\afs\cm_scache.h"
1153 File "${AFS_BUILD_INCDIR}\afs\cm_server.h"
1154 File "${AFS_BUILD_INCDIR}\afs\cm_user.h"
1155 File "${AFS_BUILD_INCDIR}\afs\cm_utils.h"
1156 File "${AFS_BUILD_INCDIR}\afs\fs_utils.h"
1157 File "${AFS_BUILD_INCDIR}\afs\krb.h"
1158 File "${AFS_BUILD_INCDIR}\afs\krb_prot.h"
1159 File "${AFS_BUILD_INCDIR}\afs\smb.h"
1160 File "${AFS_BUILD_INCDIR}\afs\smb3.h"
1161 File "${AFS_BUILD_INCDIR}\afs\smb_iocons.h"
1162 File "${AFS_BUILD_INCDIR}\afs\smb_ioctl.h"
1163 File "${AFS_BUILD_INCDIR}\afs\afsrpc.h"
1164 File "${AFS_BUILD_INCDIR}\afs\afssyscalls.h"
1165 File "${AFS_BUILD_INCDIR}\afs\pioctl_nt.h"
1166 File "${AFS_BUILD_INCDIR}\afs\auth.h"
1167 File "${AFS_BUILD_INCDIR}\afs\cellconfig.h"
1168 File "${AFS_BUILD_INCDIR}\afs\keys.h"
1169 File "${AFS_BUILD_INCDIR}\afs\ptserver.h"
1170 File "${AFS_BUILD_INCDIR}\afs\ptint.h"
1171 File "${AFS_BUILD_INCDIR}\afs\pterror.h"
1172 File "${AFS_BUILD_INCDIR}\afs\ptint.h"
1173 File "${AFS_BUILD_INCDIR}\afs\pterror.h"
1174 File "${AFS_BUILD_INCDIR}\afs\ptclient.h"
1175 File "${AFS_BUILD_INCDIR}\afs\prserver.h"
1176 File "${AFS_BUILD_INCDIR}\afs\print.h"
1177 File "${AFS_BUILD_INCDIR}\afs\prerror.h"
1178 File "${AFS_BUILD_INCDIR}\afs\prclient.h"
1179 File "${AFS_BUILD_INCDIR}\afs\kautils.h"
1180 File "${AFS_BUILD_INCDIR}\afs\kauth.h"
1181 File "${AFS_BUILD_INCDIR}\afs\kaport.h"
1182 File "${AFS_BUILD_INCDIR}\afs\vl_opcodes.h"
1183 File "${AFS_BUILD_INCDIR}\afs\vlserver.h"
1184 File "${AFS_BUILD_INCDIR}\afs\vldbint.h"
1185 File "${AFS_BUILD_INCDIR}\afs\usd.h"
1186 File "${AFS_BUILD_INCDIR}\afs\bubasics.h"
1187 File "${AFS_BUILD_INCDIR}\afs\butc.h"
1188 File "${AFS_BUILD_INCDIR}\afs\bumon.h"
1189 File "${AFS_BUILD_INCDIR}\afs\butm.h"
1190 File "${AFS_BUILD_INCDIR}\afs\tcdata.h"
1191 File "${AFS_BUILD_INCDIR}\afs\budb.h"
1192 ;File "${AFS_BUILD_INCDIR}\afs\budb_errors.h"
1193 File "${AFS_BUILD_INCDIR}\afs\budb_client.h"
1194 File "${AFS_BUILD_INCDIR}\afs\dir.h"
1195 File "${AFS_BUILD_INCDIR}\afs\fssync.h"
1196 File "${AFS_BUILD_INCDIR}\afs\ihandle.h"
1197 File "${AFS_BUILD_INCDIR}\afs\nfs.h"
1198 File "${AFS_BUILD_INCDIR}\afs\ntops.h"
1199 File "${AFS_BUILD_INCDIR}\afs\partition.h"
1200 File "${AFS_BUILD_INCDIR}\afs\viceinode.h"
1201 File "${AFS_BUILD_INCDIR}\afs\vnode.h"
1202 File "${AFS_BUILD_INCDIR}\afs\volume.h"
1203 File "${AFS_BUILD_INCDIR}\afs\voldefs.h"
1204 File "${AFS_BUILD_INCDIR}\afs\volser.h"
1205 File "${AFS_BUILD_INCDIR}\afs\volint.h"
1206 File "${AFS_BUILD_INCDIR}\afs\fs_stats.h"
1207 File "${AFS_BUILD_INCDIR}\afs\bosint.h"
1208 File "${AFS_BUILD_INCDIR}\afs\bnode.h"
1211 SetOutPath "$INSTDIR\Client\Program\Include\rx"
1212 File "${AFS_BUILD_INCDIR}\rx\rx.h"
1213 File "${AFS_BUILD_INCDIR}\rx\rx_packet.h"
1214 File "${AFS_BUILD_INCDIR}\rx\rx_user.h"
1215 File "${AFS_BUILD_INCDIR}\rx\rx_event.h"
1216 File "${AFS_BUILD_INCDIR}\rx\rx_queue.h"
1217 File "${AFS_BUILD_INCDIR}\rx\rx_globals.h"
1218 File "${AFS_BUILD_INCDIR}\rx\rx_clock.h"
1219 File "${AFS_BUILD_INCDIR}\rx\rx_misc.h"
1220 File "${AFS_BUILD_INCDIR}\rx\rx_multi.h"
1221 File "${AFS_BUILD_INCDIR}\rx\rx_null.h"
1222 File "${AFS_BUILD_INCDIR}\rx\rx_lwp.h"
1223 File "${AFS_BUILD_INCDIR}\rx\rx_pthread.h"
1224 File "${AFS_BUILD_INCDIR}\rx\rx_xmit_nt.h"
1225 File "${AFS_BUILD_INCDIR}\rx\xdr.h"
1226 File "${AFS_BUILD_INCDIR}\rx\rxkad.h"
1231 SetOutPath "$INSTDIR\Client\Program\Sample"
1232 File "..\..\afsd\sample\token.c"
1234 ;Store install folder
1235 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK" "" $INSTDIR
1236 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "VersionString" ${AFS_VERSION}
1237 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MajorVersion" ${AFS_MAJORVERSION}
1238 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "MinorVersion" ${AFS_MINORVERSION}
1239 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\CurrentVersion" "PatchLevel" ${AFS_PATCHLEVEL}
1240 WriteRegStr HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "VersionString" ${AFS_VERSION}
1241 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MajorVersion" ${AFS_MAJORVERSION}
1242 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "MinorVersion" ${AFS_MINORVERSION}
1243 WriteRegDWORD HKLM "${AFS_REGKEY_ROOT}\AFS SDK\${AFS_VERSION}" "PatchLevel" ${AFS_PATCHLEVEL}
1245 WriteUninstaller "$INSTDIR\Uninstall.exe"
1246 SetOutPath "$SMPROGRAMS\OpenAFS"
1247 CreateShortCut "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk" "$INSTDIR\Uninstall.exe"
1249 Call AFSCommon.Install
1252 ;Display the Finish header
1253 ;Insert this macro after the sections if you are not using a finish page
1254 ;!insertmacro MUI_SECTIONS_FINISHHEADER
1256 ;--------------------------------
1257 ;Installer Functions
1261 !insertmacro MUI_LANGDLL_DISPLAY
1263 ; Set the default install options
1268 StrCmp $R0 "true" contInstall
1270 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "You must be an administrator of this machine to install this software."
1274 ; Our logic should be like this.
1275 ; 1) If no AFS components are installed, we do a clean install with default options. (Client/Docs)
1276 ; 2) If existing modules are installed, we keep them selected
1277 ; 3) If it is an upgrade, we set the text accordingly, else we mark it as a re-install
1279 Call IsAnyAFSInstalled
1281 StrCmp $R0 "0" DefaultOptions
1283 Call ShouldClientInstall
1286 StrCmp $R2 "0" NoClient
1287 StrCmp $R2 "1" ReinstallClient
1288 StrCmp $R2 "2" UpgradeClient
1289 StrCmp $R2 "3" DowngradeClient
1291 SectionGetFlags ${secClient} $0
1292 IntOp $0 $0 | ${SF_SELECTED}
1293 SectionSetFlags ${secClient} $0
1294 ;# !insertmacro SelectSection ${secClient}
1297 ;StrCpy $1 ${secClient} ; Gotta remember which section we are at now...
1298 SectionGetFlags ${secClient} $0
1299 IntOp $0 $0 & ${SECTION_OFF}
1300 SectionSetFlags ${secClient} $0
1303 SectionGetFlags ${secClient} $0
1304 IntOp $0 $0 | ${SF_SELECTED}
1305 SectionSetFlags ${secClient} $0
1306 SectionSetText ${secClient} $(UPGRADE_CLIENT)
1309 SectionGetFlags ${secClient} $0
1310 IntOp $0 $0 | ${SF_SELECTED}
1311 SectionSetFlags ${secClient} $0
1312 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1315 SectionGetFlags ${secClient} $0
1316 IntOp $0 $0 | ${SF_SELECTED}
1317 SectionSetFlags ${secClient} $0
1318 SectionSetText ${secClient} $(REINSTALL_CLIENT)
1324 Call ShouldServerInstall
1326 StrCmp $R2 "0" NoServer
1327 StrCmp $R2 "1" ReinstallServer
1328 StrCmp $R2 "2" UpgradeServer
1329 StrCmp $R2 "3" DowngradeServer
1331 SectionGetFlags ${secServer} $0
1332 IntOp $0 $0 | ${SF_SELECTED}
1333 SectionSetFlags ${secServer} $0
1334 ;# !insertmacro UnselectSection ${secServer}
1338 SectionGetFlags ${secServer} $0
1339 IntOp $0 $0 | ${SF_SELECTED}
1340 SectionSetFlags ${secServer} $0
1341 SectionSetText ${secServer} $(UPGRADE_SERVER)
1345 SectionGetFlags ${secServer} $0
1346 IntOp $0 $0 | ${SF_SELECTED}
1347 SectionSetFlags ${secServer} $0
1348 SectionSetText ${secServer} $(REINSTALL_SERVER)
1352 SectionGetFlags ${secServer} $0
1353 IntOp $0 $0 | ${SF_SELECTED}
1354 SectionSetFlags ${secServer} $0
1355 SectionSetText ${secServer} $(REINSTALL_SERVER)
1359 SectionGetFlags ${secServer} $0
1360 IntOp $0 $0 & ${SECTION_OFF}
1361 SectionSetFlags ${secServer} $0
1362 ;# !insertmacro UnselectSection ${secServer}
1366 ; Check control center
1367 Call IsControlInstalled
1369 StrCmp $R2 "0" NoControl
1371 SectionGetFlags ${secControl} $0
1372 IntOp $0 $0 | ${SF_SELECTED}
1373 SectionSetFlags ${secControl} $0
1377 SectionGetFlags ${secControl} $0
1378 IntOp $0 $0 & ${SECTION_OFF}
1379 SectionSetFlags ${secControl} $0
1380 ;# !insertmacro UnselectSection ${secControl}
1383 ; Check Documentation
1384 Call IsDocumentationInstalled
1386 StrCmp $R2 "0" NoDocs
1387 SectionGetFlags ${secDocs} $0
1388 IntOp $0 $0 | ${SF_SELECTED}
1389 SectionSetFlags ${secDocs} $0
1393 SectionGetFlags ${secDocs} $0
1394 IntOp $0 $0 & ${SECTION_OFF}
1395 SectionSetFlags ${secDocs} $0
1398 ; To check the SDK, we simply look to see if the files exist. If they do,
1399 ; the SDK is installed. If not, we don't need to push it on the user.
1400 ; If they are there, we want to make sure they match the installed version.
1402 IfFileExists "$INSTDIR\Client\Program\Include\main.h" +1 NoSDK
1403 SectionGetFlags ${secSDK} $0
1404 IntOp $0 $0 | ${SF_SELECTED}
1405 SectionSetFlags ${secSDK} $0
1409 SectionGetFlags ${secSDK} $0
1410 IntOp $0 $0 & ${SECTION_OFF}
1411 SectionSetFlags ${secSDK} $0
1416 SectionGetFlags ${secClient} $0
1417 IntOp $0 $0 | ${SF_SELECTED}
1418 SectionSetFlags ${secClient} $0
1420 ; Server NOT selected
1421 SectionGetFlags ${secServer} $0
1422 IntOp $0 $0 & ${SECTION_OFF}
1423 SectionSetFlags ${secServer} $0
1425 ; Control Center NOT selected
1426 SectionGetFlags ${secControl} $0
1427 IntOp $0 $0 & ${SECTION_OFF}
1428 SectionSetFlags ${secControl} $0
1429 ;# !insertmacro UnselectSection ${secControl}
1431 ; Documentation selected
1432 SectionGetFlags ${secDocs} $0
1433 IntOp $0 $0 | ${SF_SELECTED}
1434 SectionSetFlags ${secDocs} $0
1435 ;# !insertmacro UnselectSection ${secDocs}
1438 SectionGetFlags ${secSDK} $0
1439 IntOp $0 $0 & ${SECTION_OFF}
1440 SectionSetFlags ${secSDK} $0
1441 ;# !insertmacro UnselectSection ${secSDK}
1450 ; See if we can set a default installation path...
1451 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion" "PathName"
1452 StrCmp $R0 "" TryServer
1461 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion" "PathName"
1462 StrCmp $R0 "" TryControl
1470 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion" "PathName"
1478 File /oname=$0 CellServPage.ini
1480 File /oname=$1 AFSCell.ini
1481 ;File /oname=$1 ConfigURL.ini
1489 ;--------------------------------
1490 ; These are our cleanup functions
1491 Function .onInstFailed
1496 Function .onInstSuccess
1502 ;--------------------------------
1505 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
1506 !insertmacro MUI_DESCRIPTION_TEXT ${secServer} $(DESC_secServer)
1507 !insertmacro MUI_DESCRIPTION_TEXT ${secClient} $(DESC_secClient)
1508 !insertmacro MUI_DESCRIPTION_TEXT ${secControl} $(DESC_secControl)
1509 !insertmacro MUI_DESCRIPTION_TEXT ${secDocs} $(DESC_secDocs)
1510 !insertmacro MUI_DESCRIPTION_TEXT ${secSDK} $(DESC_secSDK)
1511 !insertmacro MUI_FUNCTION_DESCRIPTION_END
1513 ;--------------------------------
1514 ;Uninstaller Section
1517 ; Make sure the user REALLY wants to do this, unless they did a silent uninstall, in which case...let them!
1518 IfSilent StartRemove ; New in v2.0b4
1519 MessageBox MB_YESNO "Are you sure you want to remove OpenAFS from this machine?" IDYES StartRemove
1524 SetShellVarContext all
1525 ; Stop the running processes
1527 File /oname=$R0 "${AFS_WININSTALL_DIR}\Killer.exe"
1528 nsExec::Exec '$R0 afscreds.exe'
1529 nsExec::Exec "afscreds.exe -z"
1531 nsExec::Exec '$R0 krbcc32s.exe'
1534 ; Delete the AFS service
1536 File /oname=$R0 "${AFS_WININSTALL_DIR}\Service.exe"
1537 nsExec::Exec "net stop TransarcAFSDaemon"
1538 nsExec::Exec "net stop TransarcAFSServer"
1539 nsExec::Exec '$R0 u TransarcAFSDaemon'
1540 ; After we stop the service, but before we delete it, we have to remove the volume data
1541 ; This is because the storage locations are in the registry under the service key.
1542 ; Call un.RemoveAFSVolumes
1543 nsExec::Exec '$R0 u TransarcAFSServer'
1546 Push "$INSTDIR\Client\Program"
1547 Call un.RemoveFromPath
1548 Push "$INSTDIR\Common"
1549 Call un.RemoveFromPath
1551 Push "$INSTDIR\kfw\bin"
1552 Call un.RemoveFromPath
1555 ; Delete documentation
1556 Delete "$INSTDIR\Documentation\README.TXT"
1557 Delete "$INSTDIR\Documentation\html\*"
1558 Delete "$INSTDIR\Documentation\html\CmdRef\*"
1559 Delete "$INSTDIR\Documentation\html\InstallGd\*"
1560 Delete "$INSTDIR\Documentation\html\ReleaseNotes\*"
1561 Delete "$INSTDIR\Documentation\html\SysAdminGd\*"
1563 Delete /REBOOTOK "$INSTDIR\Common\afs_config.exe"
1564 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.dll"
1565 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.dll"
1566 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.dll"
1567 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.dll"
1568 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.dll"
1569 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.dll"
1570 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.dll"
1571 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1572 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.dll"
1573 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.dll"
1574 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.dll"
1575 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.dll"
1576 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.dll"
1577 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.dll"
1580 Delete /REBOOTOK "$INSTDIR\Common\afs_config.pdb"
1581 Delete /REBOOTOK "$INSTDIR\Common\afs_shl_ext.pdb"
1582 Delete /REBOOTOK "$INSTDIR\Common\afsadminutil.pdb"
1583 Delete /REBOOTOK "$INSTDIR\Common\lib\afsauthent.pdb"
1584 Delete /REBOOTOK "$INSTDIR\Common\lib\afspthread.pdb"
1585 Delete /REBOOTOK "$INSTDIR\Common\lib\afsrpc.pdb"
1586 Delete /REBOOTOK "$INSTDIR\Common\afsclientadmin.pdb"
1587 Delete /REBOOTOK "$INSTDIR\Common\afsprocmgmt.pdb"
1588 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1589 Delete /REBOOTOK "$INSTDIR\Common\TaAfsAppLib.pdb"
1590 Delete /REBOOTOK "$INSTDIR\Common\afsvosadmin.pdb"
1591 Delete /REBOOTOK "$INSTDIR\Common\afsbosadmin.pdb"
1592 Delete /REBOOTOK "$INSTDIR\Common\afscfgadmin.pdb"
1593 Delete /REBOOTOK "$INSTDIR\Common\afskasadmin.pdb"
1594 Delete /REBOOTOK "$INSTDIR\Common\afsptsadmin.pdb"
1597 File "${SYSTEMDIR}\msvcr71d.dll"
1598 File "${SYSTEMDIR}\msvcr71d.pdb"
1599 File "${SYSTEMDIR}\msvcp71d.dll"
1600 File "${SYSTEMDIR}\msvcp71d.pdb"
1601 File "${SYSTEMDIR}\mfc71d.dll"
1602 File "${SYSTEMDIR}\mfc71d.pdb"
1603 File "${SYSTEMDIR}\MFC71CHS.DLL"
1604 File "${SYSTEMDIR}\MFC71CHT.DLL"
1605 File "${SYSTEMDIR}\MFC71DEU.DLL"
1606 File "${SYSTEMDIR}\MFC71ENU.DLL"
1607 File "${SYSTEMDIR}\MFC71ESP.DLL"
1608 File "${SYSTEMDIR}\MFC71FRA.DLL"
1609 File "${SYSTEMDIR}\MFC71ITA.DLL"
1610 File "${SYSTEMDIR}\MFC71JPN.DLL"
1611 File "${SYSTEMDIR}\MFC71KOR.DLL"
1614 File "${SYSTEMDIR}\msvcr70d.dll"
1615 File "${SYSTEMDIR}\msvcr70d.pdb"
1616 File "${SYSTEMDIR}\msvcp70d.dll"
1617 File "${SYSTEMDIR}\msvcp70d.pdb"
1618 File "${SYSTEMDIR}\mfc70d.dll"
1619 File "${SYSTEMDIR}\mfc70d.pdb"
1620 File "${SYSTEMDIR}\MFC70CHS.DLL"
1621 File "${SYSTEMDIR}\MFC70CHT.DLL"
1622 File "${SYSTEMDIR}\MFC70DEU.DLL"
1623 File "${SYSTEMDIR}\MFC70ENU.DLL"
1624 File "${SYSTEMDIR}\MFC70ESP.DLL"
1625 File "${SYSTEMDIR}\MFC70FRA.DLL"
1626 File "${SYSTEMDIR}\MFC70ITA.DLL"
1627 File "${SYSTEMDIR}\MFC70JPN.DLL"
1628 File "${SYSTEMDIR}\MFC70KOR.DLL"
1630 File "${SYSTEMDIR}\mfc42d.dll"
1631 File "${SYSTEMDIR}\mfc42d.pdb"
1632 File "${SYSTEMDIR}\msvcp60d.dll"
1633 File "${SYSTEMDIR}\msvcp60d.pdb"
1634 File "${SYSTEMDIR}\msvcrtd.dll"
1635 File "${SYSTEMDIR}\msvcrtd.pdb"
1640 File "${SYSTEMDIR}\mfc71.dll"
1641 File "${SYSTEMDIR}\msvcr71.dll"
1642 File "${SYSTEMDIR}\msvcp71.dll"
1643 File "${SYSTEMDIR}\MFC71CHS.DLL"
1644 File "${SYSTEMDIR}\MFC71CHT.DLL"
1645 File "${SYSTEMDIR}\MFC71DEU.DLL"
1646 File "${SYSTEMDIR}\MFC71ENU.DLL"
1647 File "${SYSTEMDIR}\MFC71ESP.DLL"
1648 File "${SYSTEMDIR}\MFC71FRA.DLL"
1649 File "${SYSTEMDIR}\MFC71ITA.DLL"
1650 File "${SYSTEMDIR}\MFC71JPN.DLL"
1651 File "${SYSTEMDIR}\MFC71KOR.DLL"
1654 File "${SYSTEMDIR}\mfc70.dll"
1655 File "${SYSTEMDIR}\msvcr70.dll"
1656 File "${SYSTEMDIR}\msvcp70.dll"
1657 File "${SYSTEMDIR}\MFC70CHS.DLL"
1658 File "${SYSTEMDIR}\MFC70CHT.DLL"
1659 File "${SYSTEMDIR}\MFC70DEU.DLL"
1660 File "${SYSTEMDIR}\MFC70ENU.DLL"
1661 File "${SYSTEMDIR}\MFC70ESP.DLL"
1662 File "${SYSTEMDIR}\MFC70FRA.DLL"
1663 File "${SYSTEMDIR}\MFC70ITA.DLL"
1664 File "${SYSTEMDIR}\MFC70JPN.DLL"
1665 File "${SYSTEMDIR}\MFC70KOR.DLL"
1667 File "${SYSTEMDIR}\mfc42.dll"
1668 File "${SYSTEMDIR}\msvcp60.dll"
1669 File "${SYSTEMDIR}\msvcrt.dll"
1675 ; IfFileExists "$WINDIR\afsdcell.ini" CellExists SkipDelAsk
1677 MessageBox MB_YESNO "Would you like to keep your configuration files?" IDYES SkipDel
1679 Delete "$WINDIR\afsdcell.ini"
1681 Delete "$WINDIR\afsdsbmt.ini"
1682 ; Only remove krb5.ini if KfW was installed
1684 Delete "$WINDIR\krb5.ini"
1686 Delete "$WINDIR\afsdns.ini"
1687 Delete "$WINDIR\afs_freelance.ini"
1690 Delete "$WINDIR\afsd_init.log"
1691 Delete "$INSTDIR\Uninstall.exe"
1694 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.exe"
1695 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.exe"
1696 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.exe"
1697 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.exe"
1698 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.exe"
1699 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.exe"
1700 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.exe"
1701 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.exe"
1702 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.exe"
1703 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.exe"
1704 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\salvager.exe"
1705 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.dll"
1706 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upclient.exe"
1707 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\upserver.exe"
1708 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\vlserver.exe"
1709 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volinfo.exe"
1710 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\volserver.exe"
1713 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afskill.pdb"
1714 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\afssvrcfg.pdb"
1715 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosctlsvc.pdb"
1716 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\bosserver.pdb"
1717 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\buserver.pdb"
1718 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\butc.pdb"
1719 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fileserver.pdb"
1720 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\fms.pdb"
1721 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\kaserver.pdb"
1722 Delete /REBOOTOK "$INSTDIR\Server\usr\afs\bin\ptserver.pdb"
1723 Delete "$INSTDIR\Server\usr\afs\bin\salvager.pdb"
1724 Delete "$INSTDIR\Server\usr\afs\bin\ServerUninst.pdb"
1725 Delete "$INSTDIR\Server\usr\afs\bin\upclient.pdb"
1726 Delete "$INSTDIR\Server\usr\afs\bin\upserver.pdb"
1727 Delete "$INSTDIR\Server\usr\afs\bin\vlserver.pdb"
1728 Delete "$INSTDIR\Server\usr\afs\bin\volinfo.pdb"
1729 Delete "$INSTDIR\Server\usr\afs\bin\volserver.pdb"
1732 RMDir /r "$INSTDIR\Server\usr\afs\bin"
1733 RmDir /r "$INSTDIR\Server\usr\afs\etc\logs"
1734 RmDir /r "$INSTDIR\Server\usr\afs\etc"
1735 RmDir /r "$INSTDIR\Server\usr\afs\local"
1736 RMDIR /r "$INSTDIR\Server\usr\afs\logs"
1738 Delete /REBOOTOK "$SYSDIR\afsserver.cpl"
1739 Delete /REBOOTOK "$SYSDIR\afs_cpa.cpl"
1742 Delete /REBOOTOK "$SYSDIR\afsserver.pdb"
1743 Delete /REBOOTOK "$SYSDIR\afs_cpa.pdb"
1746 RMDir /r "$INSTDIR\Documentation\html\CmdRef"
1747 RMDir /r "$INSTDIR\Documentation\html\InstallGd"
1748 RMDir /r "$INSTDIR\Documentation\html\ReleaseNotes"
1749 RMDir /r "$INSTDIR\Documentation\html\SysAdminGd"
1750 RMDIr /r "$INSTDIR\Documentation\html"
1752 RMDir "$INSTDIR\Documentation"
1753 ; Delete DOC short cut
1754 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.exe"
1757 Delete /REBOOTOK "$INSTDIR\Client\Program\afscreds.pdb"
1760 Delete /REBOOTOK "$INSTDIR\Client\Program\*"
1761 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\*"
1762 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\afs\*"
1763 Delete /REBOOTOK "$INSTDIR\Client\Program\Include\rx\*"
1764 Delete /REBOOTOK "$INSTDIR\Client\Program\Sample\*"
1765 RMDir "$INSTDIR\Client\Program\Sample"
1766 RMDir "$INSTDIR\Client\Program\Include\afs"
1767 RMDir "$INSTDIR\Client\Program\Include\rx"
1768 RMDir "$INSTDIR\Client\Program\Include"
1769 RMDir "$INSTDIR\Client\Program"
1770 RMDir "$INSTDIR\Client"
1774 File "${SYSTEMDIR}\msvcr71d.dll"
1775 File "${SYSTEMDIR}\msvcr71d.pdb"
1776 File "${SYSTEMDIR}\msvcp71d.dll"
1777 File "${SYSTEMDIR}\msvcp71d.pdb"
1778 File "${SYSTEMDIR}\mfc71d.dll"
1779 File "${SYSTEMDIR}\mfc71d.pdb"
1780 File "${SYSTEMDIR}\MFC71CHS.DLL"
1781 File "${SYSTEMDIR}\MFC71CHT.DLL"
1782 File "${SYSTEMDIR}\MFC71DEU.DLL"
1783 File "${SYSTEMDIR}\MFC71ENU.DLL"
1784 File "${SYSTEMDIR}\MFC71ESP.DLL"
1785 File "${SYSTEMDIR}\MFC71FRA.DLL"
1786 File "${SYSTEMDIR}\MFC71ITA.DLL"
1787 File "${SYSTEMDIR}\MFC71JPN.DLL"
1788 File "${SYSTEMDIR}\MFC71KOR.DLL"
1791 File "${SYSTEMDIR}\msvcr70d.dll"
1792 File "${SYSTEMDIR}\msvcr70d.pdb"
1793 File "${SYSTEMDIR}\msvcp70d.dll"
1794 File "${SYSTEMDIR}\msvcp70d.pdb"
1795 File "${SYSTEMDIR}\mfc70d.dll"
1796 File "${SYSTEMDIR}\mfc70d.pdb"
1797 File "${SYSTEMDIR}\MFC70CHS.DLL"
1798 File "${SYSTEMDIR}\MFC70CHT.DLL"
1799 File "${SYSTEMDIR}\MFC70DEU.DLL"
1800 File "${SYSTEMDIR}\MFC70ENU.DLL"
1801 File "${SYSTEMDIR}\MFC70ESP.DLL"
1802 File "${SYSTEMDIR}\MFC70FRA.DLL"
1803 File "${SYSTEMDIR}\MFC70ITA.DLL"
1804 File "${SYSTEMDIR}\MFC70JPN.DLL"
1805 File "${SYSTEMDIR}\MFC70KOR.DLL"
1807 File "${SYSTEMDIR}\mfc42d.dll"
1808 File "${SYSTEMDIR}\mfc42d.pdb"
1809 File "${SYSTEMDIR}\msvcp60d.dll"
1810 File "${SYSTEMDIR}\msvcp60d.pdb"
1811 File "${SYSTEMDIR}\msvcrtd.dll"
1812 File "${SYSTEMDIR}\msvcrtd.pdb"
1817 File "${SYSTEMDIR}\mfc71.dll"
1818 File "${SYSTEMDIR}\msvcr71.dll"
1819 File "${SYSTEMDIR}\msvcp71.dll"
1820 File "${SYSTEMDIR}\MFC71CHS.DLL"
1821 File "${SYSTEMDIR}\MFC71CHT.DLL"
1822 File "${SYSTEMDIR}\MFC71DEU.DLL"
1823 File "${SYSTEMDIR}\MFC71ENU.DLL"
1824 File "${SYSTEMDIR}\MFC71ESP.DLL"
1825 File "${SYSTEMDIR}\MFC71FRA.DLL"
1826 File "${SYSTEMDIR}\MFC71ITA.DLL"
1827 File "${SYSTEMDIR}\MFC71JPN.DLL"
1828 File "${SYSTEMDIR}\MFC71KOR.DLL"
1831 File "${SYSTEMDIR}\mfc70.dll"
1832 File "${SYSTEMDIR}\msvcr70.dll"
1833 File "${SYSTEMDIR}\msvcp70.dll"
1834 File "${SYSTEMDIR}\MFC70CHS.DLL"
1835 File "${SYSTEMDIR}\MFC70CHT.DLL"
1836 File "${SYSTEMDIR}\MFC70DEU.DLL"
1837 File "${SYSTEMDIR}\MFC70ENU.DLL"
1838 File "${SYSTEMDIR}\MFC70ESP.DLL"
1839 File "${SYSTEMDIR}\MFC70FRA.DLL"
1840 File "${SYSTEMDIR}\MFC70ITA.DLL"
1841 File "${SYSTEMDIR}\MFC70JPN.DLL"
1842 File "${SYSTEMDIR}\MFC70KOR.DLL"
1844 File "${SYSTEMDIR}\mfc42.dll"
1845 File "${SYSTEMDIR}\msvcp60.dll"
1846 File "${SYSTEMDIR}\msvcrt.dll"
1850 Delete /REBOOTOK "$INSTDIR\Common\*"
1851 RMDir "$INSTDIR\Common"
1855 Delete /REBOOTOK "$INSTDIR\kfw\bin\*"
1856 RMDIR /r "$INSTDIR\kfw\bin"
1857 Delete /REBOOTOK "$INSTDIR\kfw\doc\*"
1858 RMDIR /r "$INSTDIR\kfw\doc"
1859 RMDIR /r "$INSTDIR\kfw"
1862 Delete "$SMPROGRAMS\OpenAFS\Documentation.lnk"
1864 ; Remove control center
1865 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.exe"
1866 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.exe"
1867 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.exe"
1868 Delete /REBOOTOK "$INSTDIR\Control Center\CCUninst.dll"
1870 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAccountManager.pdb"
1871 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsAdmSvr.pdb"
1872 Delete /REBOOTOK "$INSTDIR\Control Center\TaAfsServerManager.pdb"
1874 RMDir "$INSTDIR\Control Center"
1876 Delete "$SMPROGRAMS\OpenAFS\Uninstall OpenAFS.lnk"
1877 Delete "$SMPROGRAMS\OpenAFS\Client\Authentication.lnk"
1878 Delete "$SMPROGRAMS\OpenAFS\Control Center\Account Manager.lnk"
1879 Delete "$SMPROGRAMS\OpenAFS\Control Center\Server Manager.lnk"
1880 RMDIR "$SMPROGRAMS\OpenAFS\Control Center"
1881 RMDir /r "$SMPROGRAMS\OpenAFS\Client"
1882 RMDir /r "$SMPROGRAMS\OpenAFS"
1883 Delete "$SMSTARTUP\AFS Credentials.lnk"
1885 ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon" "CachePath"
1887 Delete "$R0\AFSCache"
1888 Delete "C:\AFSCache"
1890 DeleteRegKey HKCR "*\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1891 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32"
1892 DeleteRegKey HKCR "CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1893 DeleteRegKey HKCR "FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension"
1894 DeleteRegValue HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved" "{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}"
1896 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client\CurrentVersion"
1897 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Client"
1898 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation\CurrentVersion"
1899 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Supplemental Documentation"
1900 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center\CurrentVersion"
1901 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Control Center"
1902 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server\CurrentVersion"
1903 DeleteRegKey HKLM "${AFS_REGKEY_ROOT}\AFS Server"
1904 DeleteRegKey /ifempty HKLM "${AFS_REGKEY_ROOT}"
1905 DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS"
1906 DeleteRegValue HKLM "SYSTEM\CurrentControlSet\Services\NetBT\Parameters" "SmbDeviceEnabled"
1912 ;--------------------------------
1913 ;Uninstaller Functions
1917 ;Get language from registry
1918 ReadRegStr $LANGUAGE HKCU "Software\OpenAFS\AFS" "Installer Language"
1922 Function un.onUninstSuccess
1924 MessageBox MB_OK "Please reboot your machine to complete uninstallation of the software"
1928 ;------------------------------
1929 ; Get the CellServDB file from the Internet
1931 Function afs.GetCellServDB
1933 ;Check if we should download CellServDB
1934 ReadINIStr $R0 $0 "Field 4" "State"
1935 StrCmp $R0 "1" DoDownload
1937 ;Do nothing if we're keeping the existing file
1938 ReadINIStr $R0 $0 "Field 2" "State"
1941 ReadINIStr $R0 $0 "Field 3" "State"
1942 StrCmp $R0 "1" UsePackaged
1944 ; If none of these, grab file from other location
1948 ReadINIStr $R0 $0 "Field 5" "State"
1949 NSISdl::download $R0 "$WINDIR\afsdcell.ini"
1950 Pop $R0 ;Get the return value
1951 StrCmp $R0 "success" +2
1952 MessageBox MB_OK|MB_ICONSTOP "Download failed: $R0"
1956 SetOutPath "$WINDIR"
1961 ReadINIStr $R0 $0 "Field 7" "State"
1962 StrCmp $R0 "1" +1 done
1963 CopyFiles $R0 "$WINDIR\afsdcell.ini"
1971 ;-------------------------------
1972 ;Do the page to get the CellServDB
1974 Function AFSPageGetCellServDB
1975 ; Skip this page if we are not installing the client
1976 SectionGetFlags ${secClient} $R0
1977 IntOp $R0 $R0 & ${SF_SELECTED}
1980 ; Set the install options here
1983 WriteINIStr $0 "Field 2" "Flags" "DISABLED"
1984 WriteINIStr $0 "Field 3" "State" "1"
1985 WriteINISTR $0 "Field 4" "State" "0"
1986 WriteINIStr $0 "Field 6" "State" "0"
1988 ; If there is an existing afsdcell.ini file, allow the user to choose it and make it default
1989 IfFileExists "$WINDIR\afsdcell.ini" +1 notpresent
1990 WriteINIStr $0 "Field 2" "Flags" "ENABLED"
1991 WriteINIStr $0 "Field 2" "State" "1"
1992 WriteINIStr $0 "Field 3" "State" "0"
1996 !insertmacro MUI_HEADER_TEXT "CellServDB Configuration" "Please choose a method for installing the CellServDB file:"
1997 InstallOptions::dialog $0
1999 StrCmp $R1 "cancel" exit
2000 StrCmp $R1 "back" done
2001 StrCmp $R1 "success" done
2005 ; Check that if a file is set, a valid filename is entered...
2006 ReadINIStr $R0 $0 "Field 6" "State"
2007 StrCmp $R0 "1" CheckFileName
2009 ;Check if a URL is specified, one *IS* specified
2010 ReadINIStr $R0 $0 "Field 4" "State"
2011 StrCmp $R0 "1" CheckURL Skip
2014 ReadINIStr $R0 $0 "Field 5" "State"
2015 StrCmp $R0 "" +1 Skip
2016 MessageBox MB_OK|MB_ICONSTOP $(URLError)
2017 WriteINIStr $0 "Field 4" "State" "0"
2021 ReadINIStr $R0 $0 "Field 7" "State"
2022 IfFileExists $R0 Skip
2024 MessageBox MB_OK|MB_ICONSTOP $(CellError)
2025 WriteINIStr $0 "Field 6" "State" "0"
2033 Function AFSPageGetCellName
2035 ; Skip this page if we are not installing the client
2036 SectionGetFlags ${secClient} $R0
2037 IntOp $R0 $R0 & ${SF_SELECTED}
2041 ; If this is a server install, we do NOT want to recommend the Freelance client
2042 ; And we do not need to ask for the cell name.
2043 SectionGetFlags ${secServer} $R1
2044 IntOp $R1 $R1 & ${SF_SELECTED}
2045 StrCmp $R1 "1" +1 NotServer
2046 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Not Recommended for servers)"
2047 WriteINIStr $1 "Field 5" "State" "0"
2048 WriteINIStr $1 "Field 1" "Flags" "DISABLED"
2049 WriteINIStr $1 "Field 2" "Flags" "DISABLED"
2052 WriteINIStr $1 "Field 6" "Text" "Enable AFS Freelance client (Recommended)"
2053 WriteINIStr $1 "Field 5" "State" "1"
2054 WriteINIStr $1 "Field 1" "Flags" ""
2055 WriteINIStr $1 "Field 2" "Flags" ""
2057 ; Get the current cell name, if any
2058 ReadRegStr $R1 HKLM "SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters" "Cell"
2060 WriteINIStr $1 "Field 2" "State" $R1
2061 !insertmacro MUI_HEADER_TEXT "Client Cell Name Configuration" "Please enter the name for your default cell:"
2062 InstallOptions::dialog $1
2064 StrCmp $R1 "cancel" exit
2065 StrCmp $R1 "back" done
2066 StrCmp $R1 "success" done
2069 ReadINIStr $R0 $1 "Field 2" "State"
2070 StrCmp $R0 "" +1 good
2072 MessageBox MB_OK|MB_ICONSTOP $(CellNameError)
2078 ; Common install routines for each module
2079 Function AFSCommon.Install
2081 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayName" "OpenAFS for Windows"
2082 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "UninstallString" "$INSTDIR\uninstall.exe"
2084 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION}"
2086 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "DisplayVersion" "${AFS_VERSION} Checked/Debug"
2088 WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenAFS" "URLInfoAbout" "http://www.openafs.org/"
2093 ;-------------------
2094 ; Get the currently installed version and place it on the stack
2096 Function GetInstalledVersion
2101 ReadRegStr $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "VersionString"
2102 StrCmp $R0 "" NotTransarc done
2106 ReadRegStr $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "VersionString"
2115 ; Functions to get each component of the version number
2116 Function GetInstalledVersionMajor
2121 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MajorVersion"
2122 StrCmp $R0 "" NotTransarc done
2126 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MajorVersion"
2135 Function GetInstalledVersionMinor
2140 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "MinorVersion"
2141 StrCmp $R0 "" NotTransarc done
2145 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "MinorVersion"
2154 Function GetInstalledVersionPatch
2159 ReadRegDWORD $R0 HKLM "Software\TransarcCorporation\$R2\CurrentVersion" "PatchLevel"
2160 StrCmp $R0 "" NotTransarc done
2164 ReadRegDWORD $R0 HKLM "${AFS_REGKEY_ROOT}\$R2\CurrentVersion" "PatchLevel"
2175 ;-------------------------------
2176 ; Check if the client should be checked for default install
2177 Function ShouldClientInstall
2179 StrCpy $R2 "AFS Client"
2180 Call GetInstalledVersion
2183 StrCmp $R0 "" NotInstalled
2184 ; Now we see if it's an older or newer version
2186 Call GetInstalledVersionMajor
2188 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2190 Call GetInstalledVersionMinor
2192 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2194 Call GetInstalledVersionPatch
2196 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2220 ;-------------------------------
2221 ; Check how the server options should be set
2222 Function ShouldServerInstall
2224 StrCpy $R2 "AFS Server"
2225 Call GetInstalledVersion
2228 StrCmp $R0 "" NotInstalled
2229 ; Now we see if it's an older or newer version
2231 Call GetInstalledVersionMajor
2233 IntCmpU $R0 ${AFS_MAJORVERSION} +1 Upgrade Downgrade
2235 Call GetInstalledVersionMinor
2237 IntCmpU $R0 ${AFS_MINORVERSION} +1 Upgrade Downgrade
2239 Call GetInstalledVersionPatch
2241 IntCmpU $R0 ${AFS_PATCHLEVEL} Reinstall Upgrade Downgrade
2266 ; See if AFS Server is installed
2267 ; Returns: "1" if it is, 0 if it is not (on the stack)
2268 Function IsServerInstalled
2270 StrCpy $R2 "AFS Server"
2271 Call GetInstalledVersion
2274 StrCmp $R0 "" NotInstalled
2287 ; See if AFS Client is installed
2288 ; Returns: "1" if it is, 0 if it is not (on the stack)
2289 Function IsClientInstalled
2291 StrCpy $R2 "AFS Client"
2292 Call GetInstalledVersion
2295 StrCmp $R0 "" NotInstalled
2309 ; See if AFS Documentation is installed
2310 ; Returns: "1" if it is, 0 if it is not (on the stack)
2311 Function IsDocumentationInstalled
2313 StrCpy $R2 "AFS Supplemental Documentation"
2314 Call GetInstalledVersion
2317 StrCmp $R0 "" NotInstalled
2330 ; See if Control Center is installed
2331 ; Returns: "1" if it is, 0 if it is not (on the stack)
2332 Function IsControlInstalled
2334 StrCpy $R2 "AFS Control Center"
2335 Call GetInstalledVersion
2338 StrCmp $R0 "" NotInstalled
2353 ; output, top of stack (replaces, with e.g. whatever)
2354 ; modifies no other variables.
2356 Function GetParameters
2360 StrCpy $R0 $CMDLINE 1
2364 StrCpy $R1 ' ' ; we're scanning for a space instead of a quote
2366 StrCpy $R0 $CMDLINE 1 $R2
2367 StrCmp $R0 $R1 loop2
2373 StrCpy $R0 $CMDLINE 1 $R2
2374 StrCmp $R0 " " loop2
2375 StrCpy $R0 $CMDLINE "" $R2
2382 ;Check to see if any AFS component is installed
2383 ;Returns: Value on stack: "1" if it is, "0" if it is not
2384 Function IsAnyAFSInstalled
2389 Call IsClientInstalled
2391 Call IsServerInstalled
2393 Call IsControlInstalled
2395 Call IsDocumentationInstalled
2397 ; Now we must see if ANY of the $Rn values are 1
2398 StrCmp $R0 "1" SomethingInstalled
2399 StrCmp $R1 "1" SomethingInstalled
2400 StrCmp $R2 "1" SomethingInstalled
2401 StrCmp $R3 "1" SomethingInstalled
2415 ;Install English Language Files
2416 Function AFSLangFiles
2418 SetOutPath "$INSTDIR\Common"
2419 File "${AFS_CLIENT_BUILDDIR}\afs_config.exe"
2420 File "${AFS_SERVER_BUILDDIR}\afsadminutil.dll"
2421 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afsauthent.dll" "$INSTDIR\Common\afsauthent.dll" "$INSTDIR"
2422 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afspthread.dll" "$INSTDIR\Common\afspthread.dll" "$INSTDIR"
2423 !insertmacro UpgradeDLL "${AFS_DESTDIR}\lib\afsrpc.dll" "$INSTDIR\Common\afsrpc.dll" "$INSTDIR"
2424 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.dll"
2425 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.dll"
2426 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2427 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.dll"
2428 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.dll"
2429 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.dll"
2430 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.dll"
2431 File "${AFS_SERVER_BUILDDIR}\afskasadmin.dll"
2432 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.dll"
2435 File "${SYSTEMDIR}\msvcr71d.dll"
2436 File "${SYSTEMDIR}\msvcr71d.pdb"
2437 File "${SYSTEMDIR}\msvcp71d.dll"
2438 File "${SYSTEMDIR}\msvcp71d.pdb"
2439 File "${SYSTEMDIR}\mfc71d.dll"
2440 File "${SYSTEMDIR}\mfc71d.pdb"
2441 File "${SYSTEMDIR}\MFC71CHS.DLL"
2442 File "${SYSTEMDIR}\MFC71CHT.DLL"
2443 File "${SYSTEMDIR}\MFC71DEU.DLL"
2444 File "${SYSTEMDIR}\MFC71ENU.DLL"
2445 File "${SYSTEMDIR}\MFC71ESP.DLL"
2446 File "${SYSTEMDIR}\MFC71FRA.DLL"
2447 File "${SYSTEMDIR}\MFC71ITA.DLL"
2448 File "${SYSTEMDIR}\MFC71JPN.DLL"
2449 File "${SYSTEMDIR}\MFC71KOR.DLL"
2452 File "${SYSTEMDIR}\msvcr70d.dll"
2453 File "${SYSTEMDIR}\msvcr70d.pdb"
2454 File "${SYSTEMDIR}\msvcp70d.dll"
2455 File "${SYSTEMDIR}\msvcp70d.pdb"
2456 File "${SYSTEMDIR}\mfc70d.dll"
2457 File "${SYSTEMDIR}\mfc70d.pdb"
2458 File "${SYSTEMDIR}\MFC70CHS.DLL"
2459 File "${SYSTEMDIR}\MFC70CHT.DLL"
2460 File "${SYSTEMDIR}\MFC70DEU.DLL"
2461 File "${SYSTEMDIR}\MFC70ENU.DLL"
2462 File "${SYSTEMDIR}\MFC70ESP.DLL"
2463 File "${SYSTEMDIR}\MFC70FRA.DLL"
2464 File "${SYSTEMDIR}\MFC70ITA.DLL"
2465 File "${SYSTEMDIR}\MFC70JPN.DLL"
2466 File "${SYSTEMDIR}\MFC70KOR.DLL"
2468 File "${SYSTEMDIR}\mfc42d.dll"
2469 File "${SYSTEMDIR}\mfc42d.pdb"
2470 File "${SYSTEMDIR}\msvcp60d.dll"
2471 File "${SYSTEMDIR}\msvcp60d.pdb"
2472 File "${SYSTEMDIR}\msvcrtd.dll"
2473 File "${SYSTEMDIR}\msvcrtd.pdb"
2478 File "${SYSTEMDIR}\mfc71.dll"
2479 File "${SYSTEMDIR}\msvcr71.dll"
2480 File "${SYSTEMDIR}\msvcp71.dll"
2481 File "${SYSTEMDIR}\MFC71CHS.DLL"
2482 File "${SYSTEMDIR}\MFC71CHT.DLL"
2483 File "${SYSTEMDIR}\MFC71DEU.DLL"
2484 File "${SYSTEMDIR}\MFC71ENU.DLL"
2485 File "${SYSTEMDIR}\MFC71ESP.DLL"
2486 File "${SYSTEMDIR}\MFC71FRA.DLL"
2487 File "${SYSTEMDIR}\MFC71ITA.DLL"
2488 File "${SYSTEMDIR}\MFC71JPN.DLL"
2489 File "${SYSTEMDIR}\MFC71KOR.DLL"
2492 File "${SYSTEMDIR}\mfc70.dll"
2493 File "${SYSTEMDIR}\msvcr70.dll"
2494 File "${SYSTEMDIR}\msvcp70.dll"
2495 File "${SYSTEMDIR}\MFC70CHS.DLL"
2496 File "${SYSTEMDIR}\MFC70CHT.DLL"
2497 File "${SYSTEMDIR}\MFC70DEU.DLL"
2498 File "${SYSTEMDIR}\MFC70ENU.DLL"
2499 File "${SYSTEMDIR}\MFC70ESP.DLL"
2500 File "${SYSTEMDIR}\MFC70FRA.DLL"
2501 File "${SYSTEMDIR}\MFC70ITA.DLL"
2502 File "${SYSTEMDIR}\MFC70JPN.DLL"
2503 File "${SYSTEMDIR}\MFC70KOR.DLL"
2505 File "${SYSTEMDIR}\mfc42.dll"
2506 File "${SYSTEMDIR}\msvcp60.dll"
2507 File "${SYSTEMDIR}\msvcrt.dll"
2513 File "${AFS_CLIENT_BUILDDIR}\afs_config.pdb"
2514 File "${AFS_SERVER_BUILDDIR}\afsadminutil.pdb"
2515 File "${AFS_DESTDIR}\lib\afsauthent.pdb"
2516 File "${AFS_DESTDIR}\lib\afspthread.pdb"
2517 File "${AFS_DESTDIR}\lib\afsrpc.pdb"
2518 File "${AFS_SERVER_BUILDDIR}\afsclientadmin.pdb"
2519 File "${AFS_SERVER_BUILDDIR}\afsprocmgmt.pdb"
2520 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
2521 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib.pdb"
2522 File "${AFS_SERVER_BUILDDIR}\afsvosadmin.pdb"
2523 File "${AFS_SERVER_BUILDDIR}\afsbosadmin.pdb"
2524 File "${AFS_SERVER_BUILDDIR}\afscfgadmin.pdb"
2525 File "${AFS_SERVER_BUILDDIR}\afskasadmin.pdb"
2526 File "${AFS_SERVER_BUILDDIR}\afsptsadmin.pdb"
2529 StrCmp $LANGUAGE ${LANG_ENGLISH} DoEnglish
2530 StrCmp $LANGUAGE ${LANG_GERMAN} DoGerman
2531 StrCmp $LANGUAGE ${LANG_SPANISH} DoSpanish
2532 StrCmp $LANGUAGE ${LANG_JAPANESE} DoJapanese
2533 StrCmp $LANGUAGE ${LANG_KOREAN} DoKorean
2534 StrCmp $LANGUAGE ${LANG_PORTUGUESEBR} DoPortugueseBR
2535 StrCmp $LANGUAGE ${LANG_SIMPCHINESE} DoSimpChinese
2536 StrCmp $LANGUAGE ${LANG_TRADCHINESE} DoTradChinese
2540 SetOutPath "$INSTDIR\Documentation"
2541 File "..\..\doc\install\Documentation\en_US\README.TXT"
2543 SetOutPath "$INSTDIR\Common"
2544 File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.dll"
2545 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.dll"
2546 File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.dll"
2547 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.dll"
2548 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.dll"
2549 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1033.dll"
2550 File "${AFS_SERVER_BUILDDIR}\afsserver_1033.dll"
2551 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.dll"
2552 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.dll"
2553 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.dll"
2554 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.dll"
2555 File "..\..\doc\help\en_US\afs-cc.CNT"
2556 File "..\..\doc\help\en_US\afs-cc.hlp"
2557 File "..\..\doc\help\en_US\afs-light.CNT"
2558 File "..\..\doc\help\en_US\afs-light.hlp"
2559 File "..\..\doc\help\en_US\afs-nt.CNT"
2560 File "..\..\doc\help\en_US\afs-nt.HLP"
2561 File "..\..\doc\help\en_US\taafscfg.CNT"
2562 File "..\..\doc\help\en_US\taafscfg.hlp"
2563 File "..\..\doc\help\en_US\taafssvrmgr.CNT"
2564 File "..\..\doc\help\en_US\taafssvrmgr.hlp"
2565 File "..\..\doc\help\en_US\taafsusrmgr.CNT"
2566 File "..\..\doc\help\en_US\taafsusrmgr.hlp"
2571 SetOutPath "$INSTDIR\Documentation"
2572 File "..\..\doc\install\Documentation\de_DE\README.TXT"
2574 SetOutPath "$INSTDIR\Common"
2575 File "${AFS_CLIENT_BUILDDIR}\afs_config_1032.dll"
2576 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1032.dll"
2577 File "${AFS_CLIENT_BUILDDIR}\afscreds_1032.dll"
2578 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1032.dll"
2579 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1032.dll"
2580 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1032.dll"
2581 File "${AFS_SERVER_BUILDDIR}\afsserver_1032.dll"
2582 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1032.dll"
2583 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1032.dll"
2584 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1032.dll"
2585 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1032.dll"
2586 File "..\..\doc\help\de_DE\afs-cc.CNT"
2587 File "..\..\doc\help\de_DE\afs-cc.hlp"
2588 File "..\..\doc\help\de_DE\afs-light.CNT"
2589 File "..\..\doc\help\de_DE\afs-light.hlp"
2590 File "..\..\doc\help\de_DE\afs-nt.CNT"
2591 File "..\..\doc\help\de_DE\afs-nt.HLP"
2592 File "..\..\doc\help\de_DE\taafscfg.CNT"
2593 File "..\..\doc\help\de_DE\taafscfg.hlp"
2594 File "..\..\doc\help\de_DE\taafssvrmgr.CNT"
2595 File "..\..\doc\help\de_DE\taafssvrmgr.hlp"
2596 File "..\..\doc\help\de_DE\taafsusrmgr.CNT"
2597 File "..\..\doc\help\de_DE\taafsusrmgr.hlp"
2600 ;File "${AFS_CLIENT_BUILDDIR}\afs_config_1033.pdb"
2601 ;File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1033.pdb"
2602 ;File "${AFS_CLIENT_BUILDDIR}\afscreds_1033.pdb"
2603 ;File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1033.pdb"
2604 ;File "${AFS_SERVER_BUILDDIR}\afseventmsg_1033.pdb"
2605 ;File "${AFS_SERVER_BUILDDIR}\afsserver_1033.pdb"
2606 ;File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1033.pdb"
2607 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1033.pdb"
2608 ;File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1033.pdb"
2609 ;File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1033.pdb"
2611 File "${SYSTEMDIR}\msvcr71d.dll"
2612 File "${SYSTEMDIR}\msvcr71d.pdb"
2613 File "${SYSTEMDIR}\msvcp71d.dll"
2614 File "${SYSTEMDIR}\msvcp71d.pdb"
2615 File "${SYSTEMDIR}\mfc71d.dll"
2616 File "${SYSTEMDIR}\mfc71d.pdb"
2617 File "${SYSTEMDIR}\MFC71CHS.DLL"
2618 File "${SYSTEMDIR}\MFC71CHT.DLL"
2619 File "${SYSTEMDIR}\MFC71DEU.DLL"
2620 File "${SYSTEMDIR}\MFC71ENU.DLL"
2621 File "${SYSTEMDIR}\MFC71ESP.DLL"
2622 File "${SYSTEMDIR}\MFC71FRA.DLL"
2623 File "${SYSTEMDIR}\MFC71ITA.DLL"
2624 File "${SYSTEMDIR}\MFC71JPN.DLL"
2625 File "${SYSTEMDIR}\MFC71KOR.DLL"
2628 File "${SYSTEMDIR}\msvcr70d.dll"
2629 File "${SYSTEMDIR}\msvcr70d.pdb"
2630 File "${SYSTEMDIR}\msvcp70d.dll"
2631 File "${SYSTEMDIR}\msvcp70d.pdb"
2632 File "${SYSTEMDIR}\mfc70d.dll"
2633 File "${SYSTEMDIR}\mfc70d.pdb"
2634 File "${SYSTEMDIR}\MFC70CHS.DLL"
2635 File "${SYSTEMDIR}\MFC70CHT.DLL"
2636 File "${SYSTEMDIR}\MFC70DEU.DLL"
2637 File "${SYSTEMDIR}\MFC70ENU.DLL"
2638 File "${SYSTEMDIR}\MFC70ESP.DLL"
2639 File "${SYSTEMDIR}\MFC70FRA.DLL"
2640 File "${SYSTEMDIR}\MFC70ITA.DLL"
2641 File "${SYSTEMDIR}\MFC70JPN.DLL"
2642 File "${SYSTEMDIR}\MFC70KOR.DLL"
2644 File "${SYSTEMDIR}\mfc42d.dll"
2645 File "${SYSTEMDIR}\mfc42d.pdb"
2646 File "${SYSTEMDIR}\msvcp60d.dll"
2647 File "${SYSTEMDIR}\msvcp60d.pdb"
2648 File "${SYSTEMDIR}\msvcrtd.dll"
2649 File "${SYSTEMDIR}\msvcrtd.pdb"
2654 File "${SYSTEMDIR}\mfc71.dll"
2655 File "${SYSTEMDIR}\msvcr71.dll"
2656 File "${SYSTEMDIR}\msvcp71.dll"
2657 File "${SYSTEMDIR}\MFC71CHS.DLL"
2658 File "${SYSTEMDIR}\MFC71CHT.DLL"
2659 File "${SYSTEMDIR}\MFC71DEU.DLL"
2660 File "${SYSTEMDIR}\MFC71ENU.DLL"
2661 File "${SYSTEMDIR}\MFC71ESP.DLL"
2662 File "${SYSTEMDIR}\MFC71FRA.DLL"
2663 File "${SYSTEMDIR}\MFC71ITA.DLL"
2664 File "${SYSTEMDIR}\MFC71JPN.DLL"
2665 File "${SYSTEMDIR}\MFC71KOR.DLL"
2668 File "${SYSTEMDIR}\mfc70.dll"
2669 File "${SYSTEMDIR}\msvcr70.dll"
2670 File "${SYSTEMDIR}\msvcp70.dll"
2671 File "${SYSTEMDIR}\MFC70CHS.DLL"
2672 File "${SYSTEMDIR}\MFC70CHT.DLL"
2673 File "${SYSTEMDIR}\MFC70DEU.DLL"
2674 File "${SYSTEMDIR}\MFC70ENU.DLL"
2675 File "${SYSTEMDIR}\MFC70ESP.DLL"
2676 File "${SYSTEMDIR}\MFC70FRA.DLL"
2677 File "${SYSTEMDIR}\MFC70ITA.DLL"
2678 File "${SYSTEMDIR}\MFC70JPN.DLL"
2679 File "${SYSTEMDIR}\MFC70KOR.DLL"
2681 File "${SYSTEMDIR}\mfc42.dll"
2682 File "${SYSTEMDIR}\msvcp60.dll"
2683 File "${SYSTEMDIR}\msvcrt.dll"
2691 SetOutPath "$INSTDIR\Documentation"
2692 File "..\..\doc\install\Documentation\es_ES\README.TXT"
2694 SetOutPath "$INSTDIR\Common"
2695 File "${AFS_CLIENT_BUILDDIR}\afs_config_1034.dll"
2696 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1034.dll"
2697 File "${AFS_CLIENT_BUILDDIR}\afscreds_1034.dll"
2698 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1034.dll"
2699 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1034.dll"
2700 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1034.dll"
2701 File "${AFS_SERVER_BUILDDIR}\afsserver_1034.dll"
2702 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1034.dll"
2703 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1034.dll"
2704 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1034.dll"
2705 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1034.dll"
2706 File "..\..\doc\help\es_ES\afs-cc.CNT"
2707 File "..\..\doc\help\es_ES\afs-cc.hlp"
2708 File "..\..\doc\help\es_ES\afs-light.CNT"
2709 File "..\..\doc\help\es_ES\afs-light.hlp"
2710 File "..\..\doc\help\es_ES\afs-nt.CNT"
2711 File "..\..\doc\help\es_ES\afs-nt.HLP"
2712 File "..\..\doc\help\es_ES\taafscfg.CNT"
2713 File "..\..\doc\help\es_ES\taafscfg.hlp"
2714 File "..\..\doc\help\es_ES\taafssvrmgr.CNT"
2715 File "..\..\doc\help\es_ES\taafssvrmgr.hlp"
2716 File "..\..\doc\help\es_ES\taafsusrmgr.CNT"
2717 File "..\..\doc\help\es_ES\taafsusrmgr.hlp"
2722 SetOutPath "$INSTDIR\Documentation"
2723 File "..\..\doc\install\Documentation\ja_JP\README.TXT"
2725 SetOutPath "$INSTDIR\Common"
2726 File "${AFS_CLIENT_BUILDDIR}\afs_config_1041.dll"
2727 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1041.dll"
2728 File "${AFS_CLIENT_BUILDDIR}\afscreds_1041.dll"
2729 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1041.dll"
2730 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1041.dll"
2731 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1041.dll"
2732 File "${AFS_SERVER_BUILDDIR}\afsserver_1041.dll"
2733 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1041.dll"
2734 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1041.dll"
2735 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1041.dll"
2736 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1041.dll"
2737 File "..\..\doc\help\ja_JP\afs-cc.CNT"
2738 File "..\..\doc\help\ja_JP\afs-cc.hlp"
2739 File "..\..\doc\help\ja_JP\afs-light.CNT"
2740 File "..\..\doc\help\ja_JP\afs-light.hlp"
2741 File "..\..\doc\help\ja_JP\afs-nt.CNT"
2742 File "..\..\doc\help\ja_JP\afs-nt.HLP"
2743 File "..\..\doc\help\ja_JP\taafscfg.CNT"
2744 File "..\..\doc\help\ja_JP\taafscfg.hlp"
2745 File "..\..\doc\help\ja_JP\taafssvrmgr.CNT"
2746 File "..\..\doc\help\ja_JP\taafssvrmgr.hlp"
2747 File "..\..\doc\help\ja_JP\taafsusrmgr.CNT"
2748 File "..\..\doc\help\ja_JP\taafsusrmgr.hlp"
2753 SetOutPath "$INSTDIR\Documentation"
2754 File "..\..\doc\install\Documentation\ko_KR\README.TXT"
2756 SetOutPath "$INSTDIR\Common"
2757 File "${AFS_CLIENT_BUILDDIR}\afs_config_1042.dll"
2758 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1042.dll"
2759 File "${AFS_CLIENT_BUILDDIR}\afscreds_1042.dll"
2760 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1042.dll"
2761 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1042.dll"
2762 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1042.dll"
2763 File "${AFS_SERVER_BUILDDIR}\afsserver_1042.dll"
2764 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1042.dll"
2765 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1042.dll"
2766 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1042.dll"
2767 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1042.dll"
2768 File "..\..\doc\help\ko_KR\afs-cc.CNT"
2769 File "..\..\doc\help\ko_KR\afs-cc.hlp"
2770 File "..\..\doc\help\ko_KR\afs-light.CNT"
2771 File "..\..\doc\help\ko_KR\afs-light.hlp"
2772 File "..\..\doc\help\ko_KR\afs-nt.CNT"
2773 File "..\..\doc\help\ko_KR\afs-nt.HLP"
2774 File "..\..\doc\help\ko_KR\taafscfg.CNT"
2775 File "..\..\doc\help\ko_KR\taafscfg.hlp"
2776 File "..\..\doc\help\ko_KR\taafssvrmgr.CNT"
2777 File "..\..\doc\help\ko_KR\taafssvrmgr.hlp"
2778 File "..\..\doc\help\ko_KR\taafsusrmgr.CNT"
2779 File "..\..\doc\help\ko_KR\taafsusrmgr.hlp"
2785 SetOutPath "$INSTDIR\Documentation"
2786 File "..\..\doc\install\Documentation\pt_BR\README.TXT"
2788 SetOutPath "$INSTDIR\Common"
2789 File "${AFS_CLIENT_BUILDDIR}\afs_config_1046.dll"
2790 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1046.dll"
2791 File "${AFS_CLIENT_BUILDDIR}\afscreds_1046.dll"
2792 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1046.dll"
2793 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1046.dll"
2794 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1046.dll"
2795 File "${AFS_SERVER_BUILDDIR}\afsserver_1046.dll"
2796 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1046.dll"
2797 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1046.dll"
2798 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1046.dll"
2799 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1046.dll"
2800 File "..\..\doc\help\pt_BR\afs-cc.CNT"
2801 File "..\..\doc\help\pt_BR\afs-cc.hlp"
2802 File "..\..\doc\help\pt_BR\afs-light.CNT"
2803 File "..\..\doc\help\pt_BR\afs-light.hlp"
2804 File "..\..\doc\help\pt_BR\afs-nt.CNT"
2805 File "..\..\doc\help\pt_BR\afs-nt.HLP"
2806 File "..\..\doc\help\pt_BR\taafscfg.CNT"
2807 File "..\..\doc\help\pt_BR\taafscfg.hlp"
2808 File "..\..\doc\help\pt_BR\taafssvrmgr.CNT"
2809 File "..\..\doc\help\pt_BR\taafssvrmgr.hlp"
2810 File "..\..\doc\help\pt_BR\taafsusrmgr.CNT"
2811 File "..\..\doc\help\pt_BR\taafsusrmgr.hlp"
2816 SetOutPath "$INSTDIR\Documentation"
2817 File "..\..\doc\install\Documentation\zh_CN\README.TXT"
2819 SetOutPath "$INSTDIR\Common"
2820 File "${AFS_CLIENT_BUILDDIR}\afs_config_2052.dll"
2821 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_2052.dll"
2822 File "${AFS_CLIENT_BUILDDIR}\afscreds_2052.dll"
2823 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_2052.dll"
2824 File "${AFS_SERVER_BUILDDIR}\afseventmsg_2052.dll"
2825 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_2052.dll"
2826 File "${AFS_SERVER_BUILDDIR}\afsserver_2052.dll"
2827 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_2052.dll"
2828 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_2052.dll"
2829 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_2052.dll"
2830 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_2052.dll"
2831 File "..\..\doc\help\zh_CN\afs-cc.CNT"
2832 File "..\..\doc\help\zh_CN\afs-cc.hlp"
2833 File "..\..\doc\help\zh_CN\afs-light.CNT"
2834 File "..\..\doc\help\zh_CN\afs-light.hlp"
2835 File "..\..\doc\help\zh_CN\afs-nt.CNT"
2836 File "..\..\doc\help\zh_CN\afs-nt.HLP"
2837 File "..\..\doc\help\zh_CN\taafscfg.CNT"
2838 File "..\..\doc\help\zh_CN\taafscfg.hlp"
2839 File "..\..\doc\help\zh_CN\taafssvrmgr.CNT"
2840 File "..\..\doc\help\zh_CN\taafssvrmgr.hlp"
2841 File "..\..\doc\help\zh_CN\taafsusrmgr.CNT"
2842 File "..\..\doc\help\zh_CN\taafsusrmgr.hlp"
2847 SetOutPath "$INSTDIR\Documentation"
2848 File "..\..\doc\install\Documentation\zh_TW\README.TXT"
2850 SetOutPath "$INSTDIR\Common"
2851 File "${AFS_CLIENT_BUILDDIR}\afs_config_1028.dll"
2852 File "${AFS_CLIENT_BUILDDIR}\afs_shl_ext_1028.dll"
2853 File "${AFS_CLIENT_BUILDDIR}\afscreds_1028.dll"
2854 File "${AFS_CLIENT_BUILDDIR}\afs_cpa_1028.dll"
2855 File "${AFS_SERVER_BUILDDIR}\afseventmsg_1028.dll"
2856 ;File "${AFS_SERVER_BUILDDIR}\afs_setup_utils_1028.dll"
2857 File "${AFS_SERVER_BUILDDIR}\afsserver_1028.dll"
2858 File "${AFS_SERVER_BUILDDIR}\afssvrcfg_1028.dll"
2859 File "${AFS_SERVER_BUILDDIR}\TaAfsAccountManager_1028.dll"
2860 File "${AFS_SERVER_BUILDDIR}\TaAfsAppLib_1028.dll"
2861 File "${AFS_SERVER_BUILDDIR}\TaAfsServerManager_1028.dll"
2862 File "..\..\doc\help\zh_TW\afs-cc.CNT"
2863 File "..\..\doc\help\zh_TW\afs-cc.hlp"
2864 File "..\..\doc\help\zh_TW\afs-light.CNT"
2865 File "..\..\doc\help\zh_TW\afs-light.hlp"
2866 File "..\..\doc\help\zh_TW\afs-nt.CNT"
2867 File "..\..\doc\help\zh_TW\afs-nt.HLP"
2868 File "..\..\doc\help\zh_TW\taafscfg.CNT"
2869 File "..\..\doc\help\zh_TW\taafscfg.hlp"
2870 File "..\..\doc\help\zh_TW\taafssvrmgr.CNT"
2871 File "..\..\doc\help\zh_TW\taafssvrmgr.hlp"
2872 File "..\..\doc\help\zh_TW\taafsusrmgr.CNT"
2873 File "..\..\doc\help\zh_TW\taafsusrmgr.hlp"
2881 ;====================================================
2882 ; AddToPath - Adds the given dir to the search path.
2883 ; Input - head of the stack
2884 ; Note - Win9x systems requires reboot
2885 ;====================================================
2892 # don't add if the path doesn't exist
2893 IfFileExists $0 "" AddToPath_done
2900 StrCmp $2 "" "" AddToPath_done
2905 StrCmp $2 "" "" AddToPath_done
2906 GetFullPathName /SHORT $3 $0
2911 StrCmp $2 "" "" AddToPath_done
2916 StrCmp $2 "" "" AddToPath_done
2920 StrCmp $1 1 AddToPath_NT
2923 FileOpen $1 "$1\autoexec.bat" a
2926 IntCmp $2 26 0 +2 +2 # DOS EOF
2927 FileSeek $1 -1 END # write over EOF
2928 FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
2934 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
2935 StrCpy $2 $1 1 -1 # copy last char
2936 StrCmp $2 ";" 0 +2 # if last char == ;
2937 StrCpy $1 $1 -1 # remove last char
2938 StrCmp $1 "" AddToPath_NTdoIt
2941 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $0
2942 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
2951 ;====================================================
2952 ; RemoveFromPath - Remove a given dir from the path
2953 ; Input: head of the stack
2954 ;====================================================
2955 Function un.RemoveFromPath
2964 IntFmt $6 "%c" 26 # DOS EOF
2968 StrCmp $1 1 unRemoveFromPath_NT
2971 FileOpen $1 "$1\autoexec.bat" r
2974 GetFullPathName /SHORT $0 $0
2975 StrCpy $0 "SET PATH=%PATH%;$0"
2976 Goto unRemoveFromPath_dosLoop
2978 unRemoveFromPath_dosLoop:
2980 StrCpy $5 $3 1 -1 # read last char
2981 StrCmp $5 $6 0 +2 # if DOS EOF
2982 StrCpy $3 $3 -1 # remove DOS EOF so we can compare
2983 StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
2984 StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
2985 StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
2986 StrCmp $3 "" unRemoveFromPath_dosLoopEnd
2988 Goto unRemoveFromPath_dosLoop
2989 unRemoveFromPath_dosLoopRemoveLine:
2991 Goto unRemoveFromPath_dosLoop
2993 unRemoveFromPath_dosLoopEnd:
2997 Delete "$1\autoexec.bat"
2998 CopyFiles /SILENT $4 "$1\autoexec.bat"
3000 Goto unRemoveFromPath_done
3002 unRemoveFromPath_NT:
3003 ReadRegStr $1 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH"
3004 StrCpy $5 $1 1 -1 # copy last char
3005 StrCmp $5 ";" +2 # if last char != ;
3006 StrCpy $1 "$1;" # append ;
3009 Call un.StrStr ; Find `$0;` in $1
3010 Pop $2 ; pos of our dir
3011 StrCmp $2 "" unRemoveFromPath_done
3012 ; else, it is in path
3017 StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
3018 StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
3021 StrCpy $5 $3 1 -1 # copy last char
3022 StrCmp $5 ";" 0 +2 # if last char == ;
3023 StrCpy $3 $3 -1 # remove last char
3025 WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PATH" $3
3026 SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
3028 unRemoveFromPath_done:
3038 ;====================================================
3039 ; IsNT - Returns 1 if the current system is NT, 0
3041 ; Output: head of the stack
3042 ;====================================================
3046 ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3047 StrCmp $0 "" 0 IsNT_yes
3059 !insertmacro IsNT ""
3060 !insertmacro IsNT "un."
3062 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3064 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3065 ;====================================================
3066 ; StrStr - Finds a given string in another given string.
3067 ; Returns -1 if not found and the pos if found.
3068 ; Input: head of the stack - string to find
3069 ; second in the stack - string to find in
3070 ; Output: head of the stack
3071 ;====================================================
3073 Function ${un}StrStr
3074 Exch $R1 ; st=haystack,old$R1, $R1=needle
3075 Exch ; st=old$R1,haystack
3076 Exch $R2 ; st=old$R1,old$R2, $R2=haystack
3088 StrCpy $R5 $R2 $R3 $R4
3094 StrCpy $R1 $R2 "" $R4
3102 !insertmacro StrStr ""
3103 !insertmacro StrStr "un."
3106 !ifdef ADDSHAREDDLLUSED
3109 ; Increments a shared DLLs reference count.
3110 ; Use by passing one item on the stack (the full path of the DLL).
3113 ; Push $SYSDIR\myDll.dll
3117 Function AddSharedDLL
3120 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3122 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3128 ; un.RemoveSharedDLL
3130 ; Decrements a shared DLLs reference count, and removes if necessary.
3131 ; Use by passing one item on the stack (the full path of the DLL).
3132 ; Note: for use in the main installer (not the uninstaller), rename the
3133 ; function to RemoveSharedDLL.
3136 ; Push $SYSDIR\myDll.dll
3137 ; Call un.RemoveSharedDLL
3140 Function un.RemoveSharedDLL
3143 ReadRegDword $R0 HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3144 StrCmp $R0 "" remove
3146 IntCmp $R0 0 rk rk uk
3148 DeleteRegValue HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1
3151 WriteRegDWORD HKLM Software\Microsoft\Windows\CurrentVersion\SharedDLLs $R1 $R0
3154 Delete /REBOOTOK $R1
3163 !ifdef INSTALL_LOOPBACK
3164 Function afs.InstallMSLoopback
3166 File /oname=$R0 "loopback_install.dll"
3167 nsExec::Exec "rundll32.exe $R0 doLoopBackEntry quiet"
3168 Call GetWindowsVersion
3170 StrCmp $R1 "2000" +1 +2
3171 nsExec::Exec "rundll32.exe $R0 disableLoopBackEntry"
3179 ; Based on Yazno's function, http://yazno.tripod.com/powerpimpit/
3180 ; Updated by Joost Verburg
3182 ; Returns on top of stack
3184 ; Windows Version (95, 98, ME, NT x.x, 2000, XP, 2003)
3186 ; '' (Unknown Windows Version)
3189 ; Call GetWindowsVersion
3191 ; ; at this point $R0 is "NT 4.0" or whatnot
3193 Function GetWindowsVersion
3200 ReadRegStr $R0 HKLM \
3201 "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
3203 IfErrors 0 lbl_winnt
3206 ReadRegStr $R0 HKLM \
3207 "SOFTWARE\Microsoft\Windows\CurrentVersion" VersionNumber
3210 StrCmp $R1 '4' 0 lbl_error
3214 StrCmp $R1 '4.0' lbl_win32_95
3215 StrCmp $R1 '4.9' lbl_win32_ME lbl_win32_98
3233 StrCmp $R1 '3' lbl_winnt_x
3234 StrCmp $R1 '4' lbl_winnt_x
3238 StrCmp $R1 '5.0' lbl_winnt_2000
3239 StrCmp $R1 '5.1' lbl_winnt_XP
3240 StrCmp $R1 '5.2' lbl_winnt_2003 lbl_error
3243 StrCpy $R0 "NT $R0" 6
3268 ; Author: Lilla (lilla@earthlink.net) 2003-06-13
3269 ; function IsUserAdmin uses plugin \NSIS\PlusgIns\UserInfo.dll
3270 ; This function is based upon code in \NSIS\Contrib\UserInfo\UserInfo.nsi
3271 ; This function was tested under NSIS 2 beta 4 (latest CVS as of this writing).
3275 ; Pop $R0 ; at this point $R0 is "true" or "false"
3277 Function IsUserAdmin
3286 UserInfo::GetAccountType
3289 StrCmp $R2 "Admin" 0 Continue
3290 ; Observation: I get here when running Win98SE. (Lilla)
3291 ; The functions UserInfo.dll looks for are there on Win98 too,
3292 ; but just don't work. So UserInfo.dll, knowing that admin isn't required
3293 ; on Win98, returns admin anyway. (per kichik)
3294 ; MessageBox MB_OK 'User "$R1" is in the Administrators group'
3299 ; You should still check for an empty string because the functions
3300 ; UserInfo.dll looks for may not be present on Windows 95. (per kichik)
3303 ;MessageBox MB_OK 'User "$R1" is in the "$R2" group'
3307 ; comment/message below is by UserInfo.nsi author:
3308 ; This one means you don't need to care about admin or
3309 ; not admin because Windows 9x doesn't either
3310 ;MessageBox MB_OK "Error! This DLL can't run under Windows 9x!"
3314 ;MessageBox MB_OK 'User= "$R1" AccountType= "$R2" IsUserAdmin= "$R0"'
3322 ; input, top of stack (e.g. C:\Program Files\Poop)
3323 ; output, top of stack (replaces, with e.g. C:\Program Files)
3324 ; modifies no other variables.
3327 ; Push "C:\Program Files\Directory\Whatever"
3330 ; ; at this point $R0 will equal "C:\Program Files\Directory"
3344 IntCmp $R1 $R2 get 0 get
3345 StrCpy $R3 $R0 1 -$R1
3360 ;--------------------------------
3361 ;Handle what must and what must not be installed
3362 Function .onSelChange
3363 ; If they install the server, they MUST install the client
3364 SectionGetFlags ${secServer} $R0
3365 IntOp $R0 $R0 & ${SF_SELECTED}
3366 StrCmp $R0 "1" MakeClientSelected
3368 ; If they install the control center, we'll give them the client.
3369 ; It may not be required, but it's a bit more useful
3370 SectionGetFlags ${secControl} $R0
3371 IntOp $R0 $R0 & ${SF_SELECTED}
3372 StrCmp $R0 "1" MakeClientSelected
3376 SectionGetFlags ${secClient} $R0
3377 IntOp $R0 $R0 | ${SF_SELECTED}
3378 SectionSetFlags ${secClient} $R0